使用json_decode在PHP中解析JSON对象

我试图通过提供JSON格式数据的Web服务请求天气。我的PHP请求代码没有成功,是:


$url="http://www.worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710";

$json = file_get_contents($url);

$data = json_decode($json, TRUE);

echo $data[0]->weather->weatherIconUrl[0]->value;    

这是返回的一些数据。为简洁起见,部分细节已被截断,但保留了对象完整性:


{ "data": 

    { "current_condition": 

        [ { "cloudcover": "31",

            ... } ],  

      "request": 

        [ { "query": "Schruns, Austria",

            "type": "City" } ],

      "weather": 

        [ { "date": "2010-10-27",

            "precipMM": "0.0",

            "tempMaxC": "3",

            "tempMaxF": "38",

            "tempMinC": "-13",

            "tempMinF": "9",

            "weatherCode": "113",

            "weatherDesc": [ {"value": "Sunny" } ],

            "weatherIconUrl": [ {"value": "http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ],

            "winddir16Point": "N",

            "winddirDegree": "356",

            "winddirection": "N",

            "windspeedKmph": "5",

            "windspeedMiles": "3" }, 

          { "date": "2010-10-28",

            ... },


          ... ]

        }

    }

}


郎朗坤
浏览 542回答 3
3回答

红颜莎娜

如果您使用以下代码:$json = file_get_contents($url);$data = json_decode($json, TRUE);TRUE返回一个数组而不是一个对象。
打开App,查看更多内容
随时随地看视频慕课网APP