Extraction du jeu de résultats JSONP en PHP : décodage avec jsonp_decode()
Pour accéder aux données renvoyées à partir d'une URL comme celle que vous avez fournie, vous peut utiliser la fonction jsonp_decode() de PHP pour extraire l'ensemble de résultats JSONP. JSONP est un format qui intègre des données JSON dans un appel de fonction JavaScript.
Mise en œuvre :
Utilisez la fonction jsonp_decode() : Analysez les données JSON extraites à l'aide de jsonp_decode(). La syntaxe est :
<code class="php">$data = jsonp_decode($jsonString, $assoc = false);</code>
Fonction jsonp_decode() personnalisée :
La fonction jsonp_decode() personnalisée suivante peut gérer les réponses 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>
Utilisation :
<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 :
Cet exemple montre comment récupérer et afficher les symboles suggérés et les noms de l'API Yahoo Finance Symbol Suggest :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!