2016-02-25 118 views
0

我試着去訪問API和繼承人的樹我想訪問:JSON未定義或爲空

{"19777621": [{ 
    "queue": "RANKED_SOLO_5x5", 
    "name": "Vladimir's Maulers", 
    "entries": [{ 
     "leaguePoints": 0, 
     "isFreshBlood": false, 
     "isHotStreak": true, 
     "division": "I", 
     "isInactive": false, 
     "isVeteran": false, 
     "losses": 34, 
     "playerOrTeamName": "Razdiel", 
     "playerOrTeamId": "19777621", 
     "wins": 36 
    }], 
    "tier": "PLATINUM" 
}]} 

我成功地做了很多的例子,但是這是一個我真的無法弄清楚它是如何工作,我敢肯定,我可以響應身體,但如果我嘗試做一些事情,因爲未定義的空白或對象。

<head> 
    <script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
    <script src="/js/json2.js"></script> 
    <script src="/js/json_parse.js"></script> 
</head> 
<body> 
<script> 
$.ajax({ 
url: 'https://euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/19777621/entry?api_key=b05c2777-462b-4bcc-ac2a-a3223bb74876', 
type: 'GET', 
dataType: 'json', 
data: { 

}, 
success: function (json) { 
document.write("The Result Is:") 

    JSON_Encoded = json; 
    JSON_Decoded = JSON.stringify(json); 
    document.write(JSON_Decoded[19777621].name[0]) 
    document.write(JSON_Decoded[19777621].entries.losses[0]) 

}, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert("error getting Summoner data!"); 
} 
}); 

</script> 

我知道即時做錯了什麼,我只是想知道

+0

您是否嘗試過使用像郵差的工具嗎?它允許您將POST和GET請求發送到URL,並向您顯示響應。這對測試API非常有用,很可能你的API給你的錯誤不是JSON格式。編輯:或者只是使用解析,而不是stringify,謝謝其他意見不能相信我錯過了。 – Glubus

+1

'JSON.stringify'將一個對象變成一個,好的** JSON字符串**。反過來是'JSON.parse'!而且你可能也不需要,因爲響應可能已經被解碼了。 – deceze

+0

當你訪問你的對象太想你想要 JSON_Decoded [19777621] [0] .name – Crawdingle

回答

1

你可以這樣寫......

$.ajax({ 
url: 'https://euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/19777621/entry?api_key=b05c2777-462b-4bcc-ac2a-a3223bb74876', 
type: 'GET', 
dataType: 'json', 
data: { 

}, 
success: function (json){ 
    document.write("The Result Is:") 

    //JSON_Encoded = json; 
    //JSON_Decoded = JSON.stringify(json); 
    document.write(json['19777621'][0].name) 
    document.write(json['19777621'][0].entries[0].losses) 

}, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert("error getting Summoner data!"); 
} 
}); 
+0

它的工作感謝束!!!!!!!!!! –