Javascript 获取JSON中的第一个对象
我直接切入正题。我得到一个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); } }); } 但是,此呼叫的结果是让我们保持呼叫状态。
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你的名字下面怎么会有一支箭?