Heim >Backend-Entwicklung >PHP-Tutorial >Warum kann mein PHP-Code „json_decode()' die Wetterdaten nicht analysieren?
JSON-Objekte in PHP mit json_decode analysieren
Beim Versuch, Wetterdaten im JSON-Format von einem Webdienst mithilfe der json_decode()-Funktion von PHP abzurufen , können Probleme auftreten. Dieser Artikel bietet eine Lösung zur Behebung des Problems.
Das Problem:
Der bereitgestellte Code, der darauf abzielt, die zurückgegebenen JSON-Daten zu analysieren, um Wetterinformationen zu extrahieren, kann nicht ausgeführt werden. Folgende Änderungen sind notwendig:
// 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'];
Der Fix:
Indem Sie den zweiten Parameter von json_decode() auf TRUE setzen, erhalten Sie ein Array anstelle eines Objekts. Dies ermöglicht Ihnen den Zugriff auf Array-Elemente mithilfe der Array-Syntax und löst das Problem mit dem -> Früher verwendete Syntax.
Zusätzliche Tipps:
Um die Lesbarkeit und das Debugging zu verbessern, sollten Sie die Verwendung der JSONview Firefox-Erweiterung in Betracht ziehen. Es bietet eine Baumansichtsdarstellung von JSON-Dokumenten und erleichtert so die Visualisierung und Navigation in der Datenstruktur.
Das obige ist der detaillierte Inhalt vonWarum kann mein PHP-Code „json_decode()' die Wetterdaten nicht analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!