2

"@attributes" を含む JSON オブジェクトの読み方がわかりません。

Javascript :

$.ajax({
    type: "GET",
    dataType: 'json',
    url: "http://..../script/weather.php?r="+req,
    success: function(data){
       alert(data.weather.forecast_information.city[0].data)
    }
});

JSON応答:

{
    "@attributes": {
        "version": "1"
    },
    "weather": {
        "@attributes": {
            "module_id": "0",
            "tab_id": "0",
            "mobile_row": "0",
            "mobile_zipped": "1",
            "row": "0",
            "section": "0"
        },
        "forecast_information": {
            "city": {
                "@attributes": {
                    "data": "Kreuzlingen, Thurgovia"
                }
            },
            "postal_code": {
                "@attributes": {
                    "data": "kreuzlingen"
                }
            },
            "latitude_e6": {
                "@attributes": {
                    "data": ""
                }
            },
            "longitude_e6": {
                "@attributes": {
                    "data": ""
                }
            },
            "forecast_date": {
                "@attributes": {
                    "data": "2012-07-03"
                }
            },
            "current_date_time": {
                "@attributes": {
                    "data": "1970-01-01 00:00:00 +0000"
                }
            },
            "unit_system": {
                "@attributes": {
                    "data": "US"
                }
            }
        },
        "current_conditions": {
            "condition": {
                "@attributes": {
                    "data": "Cloudy"
                }
            },
            "temp_f": {
                "@attributes": {
                    "data": "70"
                }
            },
            "temp_c": {
                "@attributes": {
                    "data": "21"
                }
            },
            "humidity": {
                "@attributes": {
                    "data": "Humidity: 68%"
                }
            },
            "icon": {
                "@attributes": {
                    "data": "/ig/images/weather/cloudy.gif"
                }
            },
            "wind_condition": {
                "@attributes": {
                    "data": "Wind: N at 0 mph"
                }
            }
        },
        "forecast_conditions": [
            {
                "day_of_week": {
                    "@attributes": {
                        "data": "Tue"
                    }
                },
                "low": {
                    "@attributes": {
                        "data": "55"
                    }
                },
                "high": {
                    "@attributes": {
                        "data": "72"
                    }
                },
                "icon": {
                    "@attributes": {
                        "data": "/ig/images/weather/thunderstorm.gif"
                    }
                },
                "condition": {
                    "@attributes": {
                        "data": "Thunderstorm"
                    }
                }
            },
            {
                "day_of_week": {
                    "@attributes": {
                        "data": "Wed"
                    }
                },
                "low": {
                    "@attributes": {
                        "data": "66"
                    }
                },
                "high": {
                    "@attributes": {
                        "data": "79"
                    }
                },
                "icon": {
                    "@attributes": {
                        "data": "/ig/images/weather/chance_of_storm.gif"
                    }
                },
                "condition": {
                    "@attributes": {
                        "data": "Chance of Storm"
                    }
                }
            },
            {
                "day_of_week": {
                    "@attributes": {
                        "data": "Thu"
                    }
                },
                "low": {
                    "@attributes": {
                        "data": "61"
                    }
                },
                "high": {
                    "@attributes": {
                        "data": "77"
                    }
                },
                "icon": {
                    "@attributes": {
                        "data": "/ig/images/weather/chance_of_storm.gif"
                    }
                },
                "condition": {
                    "@attributes": {
                        "data": "Chance of Storm"
                    }
                }
            },
            {
                "day_of_week": {
                    "@attributes": {
                        "data": "Fri"
                    }
                },
                "low": {
                    "@attributes": {
                        "data": "63"
                    }
                },
                "high": {
                    "@attributes": {
                        "data": "79"
                    }
                },
                "icon": {
                    "@attributes": {
                        "data": "/ig/images/weather/chance_of_rain.gif"
                    }
                },
                "condition": {
                    "@attributes": {
                        "data": "Chance of Rain"
                    }
                }
            }
        ]
    }
}

エラー (クロム);

キャッチされていない TypeError: 未定義のプロパティ 'データ' を読み取ることができません

質問は、「クロイツリンゲン、ツルゴビア」をアラート状態にする方法です。

4

1 に答える 1

9

このようになります:

alert(data.weather.forecast_information.city["@attributes"].data)
于 2012-07-03T18:28:10.047 に答える