Heim > Artikel > Backend-Entwicklung > Wie extrahiere ich JSONP Resultset in PHP mit jsonp_decode()?
JSONP-Ergebnismenge in PHP extrahieren: Dekodierung mit jsonp_decode()
Um auf die zurückgegebenen Daten über eine URL wie die von Ihnen angegebene zuzugreifen, müssen Sie kann die PHP-Funktion jsonp_decode() verwenden, um den JSONP-Ergebnissatz zu extrahieren. JSONP ist ein Format, das JSON-Daten in einen JavaScript-Funktionsaufruf einbettet.
Implementierung:
Verwenden Sie jsonp_decode(). Funktion: Analysieren Sie die extrahierten JSON-Daten mit jsonp_decode(). Die Syntax lautet:
<code class="php">$data = jsonp_decode($jsonString, $assoc = false);</code>
Benutzerdefinierte jsonp_decode()-Funktion:
Die folgende benutzerdefinierte jsonp_decode()-Funktion kann JSONP-Antworten verarbeiten:
<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>
Verwendung:
<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:
Dieses Beispiel zeigt, wie die vorgeschlagenen Symbole abgerufen und angezeigt werden und Namen aus der 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>
Das obige ist der detaillierte Inhalt vonWie extrahiere ich JSONP Resultset in PHP mit jsonp_decode()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!