首頁  >  文章  >  後端開發  >  如何使用 jsonp_decode() 在 PHP 中擷取 JSONP 結果集?

如何使用 jsonp_decode() 在 PHP 中擷取 JSONP 結果集?

Patricia Arquette
Patricia Arquette原創
2024-10-30 11:10:53455瀏覽

How to Extract JSONP Resultset in PHP with jsonp_decode()?

在PHP 中提取JSONP 結果集:使用jsonp_decode() 進行解碼

要從您提供的URL 存取返回的數據,您需要可以利用PHP 的jsonp_decode() 函數來擷取JSONP 結果集。 JSONP 是一種在 JavaScript 函數呼叫中嵌入 JSON 資料的格式。

實作:

  1. 刪除函數名稱:刪除JSON 資料周圍的函數名稱(和括號)。
  2. 使用 jsonp_decode() 功能: 使用 jsonp_decode() 解析擷取的 JSON 資料。語法為:

    <code class="php">$data = jsonp_decode($jsonString, $assoc = false);</code>

自訂jsonp_decode() 函數:

以下自訂jsonp_decode( 🎜>

<code class="php">function jsonp_decode($jsonp, $assoc = false) { 
    if($jsonp[0] !== '[' &amp;&amp; $jsonp[0] !== '{') { // we have JSONP
       $jsonp = substr($jsonp, strpos($jsonp, '('));
    }
    return json_decode(trim($jsonp,'();'), $assoc);
}</code>

用法:

<code class="php">$yahooSS = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&amp;callback=YAHOO.Finance.SymbolSuggest.ssCallback";

$yss = fopen($yahooSS,"r");
$data = jsonp_decode($response);

// Accessing the result 
foreach ($data->ResultSet->Result as $result) {
    echo $result->symbol . " - " . $result->name . "\n";
}</code>

DEMO:

此範例如何擷取與顯示建議的範例來自雅虎財經符號建議API 的名稱:

以上是如何使用 jsonp_decode() 在 PHP 中擷取 JSONP 結果集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn