Heim > Backend-Entwicklung > PHP-Tutorial > Wie extrahiere ich JSONP Resultset in PHP?

Wie extrahiere ich JSONP Resultset in PHP?

Mary-Kate Olsen
Freigeben: 2024-10-30 18:25:30
Original
941 Leute haben es durchsucht

How to Extract JSONP Resultset in PHP?

JSONP-Ergebnismenge in PHP extrahieren

Einführung

Die gegebene Aufgabe umfasst das Abrufen und Parsen von Daten von einer URL, die eine zurückgibt JSONP-Antwort (JSON mit Auffüllung). PHP bietet Funktionen, um solche Antworten effektiv zu verarbeiten.

PHP-Implementierung

Die JSONP-Antwort besteht aus JavaScript-Code, der um eine JSON-Nutzlast gewickelt ist. Um den tatsächlichen JSON-Code zu extrahieren, entfernen Sie den Namen der Rückruffunktion und die Klammern vom Anfang der Antwort. Anschließend kann die PHP-Funktion json_decode() verwendet werden, um den JSON in ein assoziatives Array oder ein Objekt zu analysieren.

Benutzerdefinierte Funktion für die JSONP-Dekodierung

Der Einfachheit halber a Eine benutzerdefinierte Funktion mit dem Namen jsonp_decode() kann definiert werden:

<code class="php">function jsonp_decode($jsonp, $assoc = false) { // PHP 5.3 adds depth as third parameter to json_decode
    if($jsonp[0] !== '[' &amp;&amp; $jsonp[0] !== '{') { // we have JSONP
       $jsonp = substr($jsonp, strpos($jsonp, '('));
    }
    return json_decode(trim($jsonp,'();'), $assoc);
}</code>
Nach dem Login kopieren

Verwendung

Mit dieser benutzerdefinierten Funktion können die JSONP-Daten wie folgt extrahiert werden:

<code class="php">$data = jsonp_decode($response);</code>
Nach dem Login kopieren

Beispiel

Betrachten Sie die bereitgestellte JSONP-Beispielantwort:

YAHOO.Finance.SymbolSuggest.ssCallback({"ResultSet":{"Query":"yahoo","Result":[{"symbol":"YHOO","name": "Yahoo! Inc.","exch": "NMS","type": "S","exchDisp":"NASDAQ","typeDisp":"Equity"}...]}})
Nach dem Login kopieren

Verwendung der Funktion jsonp_decode():

<code class="php">$data = jsonp_decode($response);
$query = $data['ResultSet']['Query'];
foreach ($data['ResultSet']['Result'] as $result) {
    echo "Symbol: ".$result['symbol']." - Name: ".$result['name']." - Exchange: ".$result['exch']."\n";
}</code>
Nach dem Login kopieren

Dieser Code extrahiert die Abfragezeichenfolge zusammen mit den Symbolen, Namen und Austauschinformationen aus der JSONP-Antwort.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich JSONP Resultset in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage