Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Javascript 获取JSON中的第一个对象_Javascript_Json_Object - Fatal编程技术网

Javascript 获取JSON中的第一个对象

Javascript 获取JSON中的第一个对象,javascript,json,object,Javascript,Json,Object,我直接切入正题。我得到一个json对象,其中包含另一个对象,如下所示: function getName(summonerName, region) { LolApi.Summoner.getByName(summonerName, region, function(err, summoner) { if(!err) { console.log(summoner); } }); } 但是,此呼叫的结果是让我们保持呼叫状态。

我直接切入正题。我得到一个json对象,其中包含另一个对象,如下所示:

function getName(summonerName, region) {
    LolApi.Summoner.getByName(summonerName, region, function(err, summoner) {
        if(!err) {
            console.log(summoner);
        }
    });
}
但是,此呼叫的结果是让我们保持呼叫状态。名称是tetsii:

{ tetsii: 
  { id: 51520537,
    name: 'tetsii',
    profileIconId: 23,
    summonerLevel: 23,
    revisionDate: 1408307600000
  }
}
现在,我可以使用console.logcaller.tetsii.id访问id和其他内容,但是因为在这种情况下,tetsii可以是任何东西,所以我不喜欢这样做。所以,我的问题是:如何访问JSON中的第一个对象,还是有其他方法?不,在这种情况下我不能得到数组

我想指出的是,我已经尝试了console.logcaller.calleername.id,但由于calleername是一个字符串,因此不会产生结果

谢谢大家

编辑:得到答案了。只需使用召唤者[召唤者名称]。id我就能抓取id。谢谢大家的回答

-通过使用Tetsii

。例如,如果你知道召唤师只有一把顶级钥匙,你可以通过以下方式获得:

var summonerName = Object.keys(summoner)[0];

强制性浏览器支持注意事项:IE<9不支持开箱即用,但您可以使用MDN页面中提供的polyfill作为兼容性垫片。

对象中没有顺序,因此不能保证您可以获得您认为的对象,但可以使用object.Key和shift

var first = summoner[Object.keys(summoner).shift()];

如果无法将其作为数组返回,最好的方法是迭代对象属性,如中所述

最重要的部分是:

for (var prop in summoner) {
  console.log("summoner." + prop + " = " + summoner[prop]);
}
在控制台中测试:

var summoner = { tetsii: 
  { id: 51520537,
    name: 'tetsii',
    profileIconId: 23,
    summonerLevel: 23,
    revisionDate: 1408307600000
  }
};
收益率:

summoner.tetsii = [object Object] 

您是否尝试过召唤者[召唤者名称].id,或者如果召唤者名称是一个包含字符串的变量,那么召唤者[召唤者名称].id?后者有效!令人惊叹的谢谢你,先生。而且,严格地说,财产秩序是不能保证的;如果只有一支当然没问题。@Ja͢ck你的名字下面怎么会有一支箭?