使用 json_decode 解析 PHP 中的 JSON 对象
尝试使用 PHP 的 json_decode() 函数从 Web 服务检索 JSON 格式的天气数据时,您可能会遇到问题。本文提供了解决该问题的解决方案。
问题:
提供的代码无法执行,该代码旨在解析返回的 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中文网其他相关文章!