2013-09-30 4 views
-1

У меня есть ответ json, где есть obj.attributes список следующих. Я хочу пройти через каждый объект, только у которого есть ids. Как я проходил через объект и атрибут атрибута печатиПройти через json-ответ в javascript

Object {0: Object, 1: Object, 2: Object, 3: Object, subject_Keys: "", schoolapplication: Object} 

Я попытался

for(var item in obj.attributes) 
{ 
    var intRegex = /^\d+$/; 
if(intRegex.test(item)) { 
     console.log(obj.attributes[item]["id"]) //This prints undefined 
    } 
} 

EDIT1: console.log(obj)

child {cid: "c33", changed: Object, attributes: Object, _changes: Array[0], _hasComputed: true…} 
_changes: Array[0] 
_changing: false 
_currentAttributes: Object 
_hasComputed: true 
_pending: false 
_previousAttributes: Object 
app_id: 8 
attributes: Object 
changed: Object 
cid: "c33" 
__proto__: Surrogate 

console.log (obj.attributes)

Object {0: Object, 1: Object, 2: Object, 3: Object, subject_Keys: "", schoolapplication: Object} 
0: Object 
    name: "key1" 
    schoolapplication: Object 
    id: 3 
    __proto__: Object 
1: Object 
2: Object 
3: Object 
__proto__: Object 
+0

Не могли бы вы разместить полный объект, а не просто «Объект», чтобы мы догадались, на что он похож? – h2ooooooo

+0

@ Xotic750 Что делает объект javascript для JSON, за исключением аналогичного синтаксиса? Он уже использует объект JS. – h2ooooooo

+1

@ Xotic750 Но поскольку он сказал, что он печатает «неопределенный» ** внутри ** цикла, вы можете подумать, что ему действительно удалось пройти через цикл, который выполняет итерацию через 'obj.attributes', поэтому' obj' ** должен ** быть объектом, а не просто строкой JSON (иначе она уже не удалась). – h2ooooooo

ответ

0

Если вы дадите весь объект данным, тогда было бы полезно. Но то, что я понял, получил это решение.

for(var item in obj) 
{ 
    if(obj[item].hasOwnProperty('id')) { 
     console.log(obj[item].id); 
    } 
} 
Смежные вопросы