Mengekstrak JSONP Resultset dalam PHP: Menyahkod dengan jsonp_decode()
Untuk mengakses data yang dikembalikan daripada URL seperti yang anda berikan, anda boleh menggunakan fungsi jsonp_decode() PHP untuk mengekstrak set hasil JSONP. JSONP ialah format yang membenamkan data JSON dalam panggilan fungsi JavaScript.
Pelaksanaan:
Gunakan jsonp_decode() Fungsi: Parsing data JSON yang diekstrak menggunakan jsonp_decode(). Sintaksnya ialah:
<code class="php">$data = jsonp_decode($jsonString, $assoc = false);</code>
Fungsi jsonp_decode() tersuai:
Fungsi jsonp_decode() tersuai berikut boleh mengendalikan respons JSONP:
<code class="php">function jsonp_decode($jsonp, $assoc = false) { if($jsonp[0] !== '[' && $jsonp[0] !== '{') { // we have JSONP $jsonp = substr($jsonp, strpos($jsonp, '(')); } return json_decode(trim($jsonp,'();'), $assoc); }</code>
Penggunaan:
<code class="php">$yahooSS = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&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:
Contoh ini menunjukkan cara untuk mendapatkan dan memaparkan simbol yang dicadangkan dan nama daripada Yahoo Finance Symbol Suggest API:
<code class="php"><?php // Get JSONP response $yahooSS = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback"; $result = file_get_contents($yahooSS); // Decode JSONP $data = jsonp_decode($result); // Process results echo "<table>"; echo "<tr><th>Symbol</th><th>Name</th></tr>"; foreach ($data->ResultSet->Result as $result) { echo "<tr><td>" . $result->symbol . "</td><td>" . $result->name . "</td></tr>"; } echo "</table>"; ?></code>
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak JSONP Resultset dalam PHP dengan jsonp_decode()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!