Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 访问此数组中的值[API结果]_Jquery_Html_Json_Api - Fatal编程技术网

Jquery 访问此数组中的值[API结果]

Jquery 访问此数组中的值[API结果],jquery,html,json,api,Jquery,Html,Json,Api,我一直在努力学习API,我有几个正在工作,但这一个难倒了我,我无法让它工作/显示 我正在尝试访问响应中出现多次的特定属性,然后将其显示在页面上 到目前为止,我的通话正常,我只需要完成以下部分: success: function (resp) { }); 然后我将尝试在表格中列出所有这些结果: { "gameId": 2540635808, "mapId": 11, "gameMode": "CLASSIC", "gameTy

我一直在努力学习API,我有几个正在工作,但这一个难倒了我,我无法让它工作/显示

我正在尝试访问响应中出现多次的特定属性,然后将其显示在页面上

到目前为止,我的通话正常,我只需要完成以下部分:

          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
中的数据。