这是json文本:
{
"data": {
"current_condition": [{
"cloudcover": "75",
"humidity": "63",
"observation_time": "03:41 PM",
"precipMM": "0.0",
"pressure": "1020",
"temp_C": "15",
"temp_F": "59",
"visibility": "16",
"weatherCode": "116",
"weatherDesc": [{
"value": "Partly Cloudy"
}],
"weatherIconUrl": [{
"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png"
}],
"winddir16Point": "SSE",
"winddirDegree": "160",
"windspeedKmph": "7",
"windspeedMiles": "4"
}],
"request": [{
"query": "Northville, United States Of America",
"type": "City"
}],
"weather": [{
"date": "2013-09-24",
"precipMM": "0.0",
"tempMaxC": "20",
"tempMaxF": "67",
"tempMinC": "8",
"tempMinF": "47",
"weatherCode": "113",
"weatherDesc": [{
"value": "Sunny"
}],
"weatherIconUrl": [{
"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png"
}],
"winddir16Point": "ESE",
"winddirDegree": "111",
"winddirection": "ESE",
"windspeedKmph": "10",
"windspeedMiles": "6"
}]
}
Run Code Online (Sandbox Code Playgroud)
}
我试图回应'temp_F'并且它无效.我无法弄清楚我做错了什么.我得到了这个:
$url = file_get_contents("http://blahblahblahblah");
$arr = json_decode($url,true);
Run Code Online (Sandbox Code Playgroud)
这就是失败的地方.我已经完成了var_dump,所以我知道数据存在.但是我尝试过的每次"回声"尝试都会导致"数组"显示在屏幕上.我尝试过以下几种变体:
echo $arr->{'data'}->{'current_condition[0]'}->{'temp_F'};
Run Code Online (Sandbox Code Playgroud)
有人能告诉我我做错了什么吗?谢谢!
Ama*_*ali 14
json_decode()with TRUEas second parameter为您提供关联数组.但是您目前正在尝试将其作为对象访问.
请尝试以下方法:
echo $arr['data']['current_condition'][0]['temp_F'];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9544 次 |
| 最近记录: |