Maison >développement back-end >tutoriel php >Pourquoi mon code PHP `json_decode()` ne parvient-il pas à analyser les données météorologiques ?

Pourquoi mon code PHP `json_decode()` ne parvient-il pas à analyser les données météorologiques ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-13 01:31:02818parcourir

Why Does My PHP `json_decode()` Code Fail to Parse Weather Data?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn