愚かな問題がありますが、何が間違っているのかわかりません...
私はAWS API Gateway URLをリクエストしています。私はjson形式の応答を持っています。特定のJSON要素の値を取得する場合は、要素の値ではなく「未定義」になります。ここでJavascriptのJSON解析問題
は私のコードです:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
jsonData = JSON.parse(xhr.responseText);
data = jsonData.coord;
document.write(data);
}
}
xhr.open('GET', "https://[mon-url]", true);
xhr.send();
APIレスポンスが
jsonData = JSON.parse(xhr.responseText)
document.write(jsonData)
を使用して解析され、次の出力を与える:
{
"coord": {
"lon": 2.35,
"lat": 48.85
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01n"
}
],
"base": "stations",
"main": {
"temp": 291.97,
"pressure": 1019,
"humidity": 56,
"temp_min": 288.15,
"temp_max": 295.15
},
"visibility": 10000,
"wind": {
"speed": 3.1,
"deg": 60
},
"clouds": {
"all": 0
},
"dt": 1495747800,
"sys": {
"type": 1,
"id": 5615,
"message": 0.0022,
"country": "FR",
"sunrise": 1495684591,
"sunset": 1495741168
},
"id": 2988507,
"name": "Paris",
"cod": 200
}
をしかし、私は特定の要素のを取得しようとした場合たとえば、document.write(jsonData.coord)
を使用して、値として"undefined"
を取得します。
誰かが私が正しく私のJSONデータを解析することができない理由を私は理解するのに役立つことはできますか?
ありがとうございます!
また、 'jsonData'の種類を記録できますか? 'にconsole.log(typeof演算(jsonData))' – Rajesh
@prasadデータOPを添加した場合、任意の違いを作るべきではない '' –
使用jsonData = JSON.parse(JSON.stringify(xhr.responseText))正しい形式であります – farhadamjady