获取Json变量

时间:2012-08-21 16:04:52

标签: json variables

我有以下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对象,它会输出访问任何变量所需的正确代码吗?

谢谢, 吉姆

1 个答案:

答案 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;