使用json_decode 解析PHP 中的JSON 物件
嘗試使用PHP 的json_decode() 函數從Web 服務中擷取資料時,您可能會遇到問題。本文提供了解決該問題的解決方案。
問題:
提供的程式碼無法執行,程式碼旨在解析傳回的 JSON 資料以擷取天氣資訊。需要進行以下修改:
// 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'];
修正:
透過將 json_decode() 的第二個參數設為 TRUE,您將獲得一個陣列而不是物件。這允許您使用數組語法存取數組元素,從而解決了 -> 的問題。之前使用的語法。
其他提示:
要增強可讀性和調試,請考慮使用 JSONview Firefox 擴充功能。它提供了 JSON 文件的樹視圖表示,使資料結構的可視化和導航變得更加容易。
以上是為什麼我的 PHP `json_decode()` 程式碼無法解析天氣資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!