2016-02-22 2 views
1

Добрый день!JSON - введите объект 2-й уровень

После этого небольшого запроса

xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 

        var sumInfo = JSON.parse(xmlhttp.responseText); 
        var objName = Object.keys(sumInfo); 
        console.log(sumInfo); 

       } 

я получить этот объект JSON:

{"teste":{"id":3132576,"name":"Teste","profileIconId":28,"summonerLevel":1,"revisionDate":1445611659000}} 

как я получить идентификатор этого объекта? Потому что я не могу сделать что-то вроде этого:

sumInfo.objName.id; 

Спасибо!

+0

Вы бы использовали 'sumInfo.teste.id'. – CollinD

+0

Может быть sumInfo [Object.keys (sumInfo) [0]]. Id будет делать – shakib

+0

Спасибо! Это очень простой ответ ха-ха. Im очень новичок –

ответ

0

Если переменная строка, где objName = "teste", вам необходимо использовать кронштейн обозначения:

var id = sumInfo[objName].id

1

Я понимаю, что вы не будете знать имена объектов 1-го уровня? Если это так, то это должно работать:

for (key in sumInfo) { //for every key in the object 'sumInfo' 
    console.log(sumInfo[key].id); //log to console the id of each object 
} 

Если вы знаете название объектов 1-го уровня, это будет достаточно:

console.log(sumInfo.teste.id); 
//or 
console.log(sumInfo['teste'].id); 
0

Добавьте ручку, а затем просто получить доступ к нему?

var obj = { 
    "teste" : { 
     "id" : 3132576, 
     "name" : "Teste", 
     "profileIconId" : 28, 
     "summonerLevel" : 1, 
     "revisionDate" : 1445611659000 
    } 
}; 
alert(obj.teste.id); 
Смежные вопросы