Maison >développement back-end >tutoriel php >Pourquoi mon code PHP `json_decode()` ne parvient-il pas à analyser les données météorologiques ?
Analyse d'objets JSON en PHP avec json_decode
Lors de la tentative de récupération de données météorologiques au format JSON à partir d'un service Web à l'aide de la fonction json_decode() de PHP , vous pourriez rencontrer des problèmes. Cet article fournit une solution pour résoudre le problème.
Le problème :
Le code fourni, qui vise à analyser les données JSON renvoyées pour extraire les informations météorologiques, ne parvient pas à s'exécuter. Les modifications suivantes sont nécessaires :
// Initializing variables $url = "http://www.worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710"; $json = file_get_contents($url); // Decode the JSON data $data = json_decode($json, TRUE); // Set the second parameter to TRUE to return an array // Now you can access array elements as shown below echo $data['data']['weather'][0]['weatherDesc'][0]['value'];
Le correctif :
En définissant le deuxième paramètre de json_decode() sur TRUE, vous obtenez un tableau au lieu d'un objet. Cela vous permet d'accéder aux éléments du tableau en utilisant la syntaxe du tableau, résolvant ainsi le problème avec le -> syntaxe utilisée précédemment.
Conseils supplémentaires :
Pour améliorer la lisibilité et le débogage, pensez à utiliser l'extension JSONview Firefox. Il fournit une représentation arborescente des documents JSON, facilitant la visualisation et la navigation dans la structure des données.
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!