Jquery 访问此数组中的值[API结果]
我一直在努力学习API,我有几个正在工作,但这一个难倒了我,我无法让它工作/显示 我正在尝试访问响应中出现多次的特定属性,然后将其显示在页面上 到目前为止,我的通话正常,我只需要完成以下部分:Jquery 访问此数组中的值[API结果],jquery,html,json,api,Jquery,Html,Json,Api,我一直在努力学习API,我有几个正在工作,但这一个难倒了我,我无法让它工作/显示 我正在尝试访问响应中出现多次的特定属性,然后将其显示在页面上 到目前为止,我的通话正常,我只需要完成以下部分: success: function (resp) { }); 然后我将尝试在表格中列出所有这些结果: { "gameId": 2540635808, "mapId": 11, "gameMode": "CLASSIC", "gameTy
success: function (resp) {
});
然后我将尝试在表格中列出所有这些结果:
{
"gameId": 2540635808,
"mapId": 11,
"gameMode": "CLASSIC",
"gameType": "MATCHED_GAME",
"gameQueueConfigId": 2,
"participants": [
{
"teamId": 100,
"spell1Id": 11,
"spell2Id": 4,
"championId": 19,
"profileIconId": 23,
"summonerName": "Like or Leave",
"bot": false,
"summonerId": 54108020,
"runes": [
{
"count": 7,
"runeId": 5245
},
{
"count": 1,
"runeId": 5290
},
{
"count": 4,
"runeId": 5316
},
{
"count": 2,
"runeId": 5337
}
],
"masteries": [
{
"rank": 4,
"masteryId": 6111
},
{
"rank": 5,
"masteryId": 6211
},
{
"rank": 1,
"masteryId": 6223
},
{
"rank": 5,
"masteryId": 6232
},
{
"rank": 1,
"masteryId": 6242
},
{
"rank": 5,
"masteryId": 6252
},
{
"rank": 1,
"masteryId": 6262
}
]
},
{
"teamId": 100,
"spell1Id": 4,
"spell2Id": 3,
"championId": 25,
"profileIconId": 774,
"summonerName": "SackOfRyze",
"bot": false,
"summonerId": 71487363,
"runes": [
{
"count": 6,
"runeId": 5245
},
如果有人能帮我把“召唤名字”展示出来,那就太有帮助了
我不确定这是否重要,但数组顶部的“GameID,MapID”等与实际调用不匹配。调用找到的匹配项是响应中包含的一个召唤ID。就像我说的,我不确定这是否重要,但我想我应该提一下
我想我可以用这样的方式访问它:
players = resp[summmonerID].participants.length;
document.getElementById("listPlayers").innerHTML = players;
resp[summonerID].participants.forEach(function (item) {
document.getElementById("masteryPagesAll").innerHTML = document.getElementById("playersAll").innerHTML + item.summonerName + "<br />";
});
players=resp[summmonerID].participants.length;
document.getElementById(“listPlayers”).innerHTML=players;
resp[callereId].participants.forEach(函数(项){
document.getElementById(“masteryPagesAll”).innerHTML=document.getElementById(“playersAll”).innerHTML+item.callereName+“
”;
});
谢谢首先,响应是字符串。您应该将其转换为对象以访问其属性和值
var data = JSON.parse(resp);
然后您可以像您所想的那样使用该数据对象。您好,谢谢您的回复。我仍在学习,如果我错了,请纠正我,但我认为包括以下内容:type:'GET',dataType:'json',data:{},意味着我不需要解析响应?是的,
dataType:'json'
应该可以。用于验证是否可以console.log(typeof(resp))代码>。你的代码看起来很好,运行时有没有控制台错误?只有这个:error:function(XMLHttpRequest,textStatus,errorshown){alert(“error getting caller data2!”);所以它肯定会遇到第二个API调用。另外,我一直在Google Chrome中测试,API调用返回代码“200”URL与它应该匹配(调用成功),但我似乎无法显示所有玩家的姓名:(嘿,它只是向我显示文本“获取召唤器数据时出错!”:/这是您发出警报的字符串,请尝试alert('errorwhold')
或console.log(errorwhold)
查看它的价值。你能提供更简洁/可读的输出吗?I,抱歉,我以为会有足够的内容,你还想让我向你展示什么?输出更可读的内容。我指的是成功calllback上的resp
中的数据。