我有以下json数据:
var JSONObject2= {
"weather": {
"curren_weather": [
{
"humidity": "69",
"pressure": "1012",
"temp": "70",
"temp_unit": "f",
"weather_code": "1",
"weather_text": "Mostly cloudy",
"wind": [
{
"dir": "Not Available",
"speed": "0",
"wind_unit": "mph"
}
]
}
],
"forecast": [
{
"date": "2012-08-21",
"day": [
{
"weather_code": "0",
"weather_text": "Sunny skies",
"wind": [
{
"dir": "NW",
"dir_degree": "311",
"speed": "7",
"wind_unit": "mph"
}
]
}
],
"day_max_temp": "83",
"night": [
{
"weather_code": "0",
"weather_text": "Clear skies",
"wind": [
{
"dir": "WNW",
"dir_degree": "289",
"speed": "7",
"wind_unit": "mph"
}
]
}
],
"night_min_temp": "57",
"temp_unit": "f"
},
{
"date": "2012-08-22",
"day": [
{
"weather_code": "0",
"weather_text": "Sunny skies",
"wind": [
{
"dir": "N",
"dir_degree": "7",
"speed": "4",
"wind_unit": "mph"
}
]
}
],
"day_max_temp": "85",
"night": [
{
"weather_code": "0",
"weather_text": "Clear skies",
"wind": [
{
"dir": "S",
"dir_degree": "176",
"speed": "7",
"wind_unit": "mph"
}
]
}
],
"night_min_temp": "63",
"temp_unit": "f"
}
]
}
};
在非常简单的json数据上,我可以弄清楚如何获取变量。在上面这样的事情上,对我来说很难。
所以要访问说temp的值是70,我会编码: var my_temp = weather.curren_weather.temp //这不起作用
就像2个例子一样,我如何得到临时值(70)并说出wind_degree在311的位置?
还有一个程序,您可以像上面那样粘贴json对象,它会输出访问任何变量所需的正确代码吗?
谢谢, 吉姆
答案 0 :(得分:1)
您的对象 由嵌套数组复杂化,并且不清楚为什么当前天气需要嵌套数组。
要获得此结构的temp
,您需要:
var temp = JSONObject2.weather.curren_weather[0].temp;
对于特定的风读:
var wind = JSONObject2.weather.forecast[0].day[0].wind[0].dir_degree;
对于forecast
字段,嵌套数组是合理的,因为您获得了不同日期的预测列表,因此可以使用以下方法提取数据中表示的第二个日期的白天风读数: / p>
var wind = JSONObject2.weather.forecast[1].day[0].wind[0].dir_degree;