2014-04-20 88 views
0

我正在使用服務器腳本從mongo數據庫中檢索對象。它返回一個字符串(我認爲它是一個對象數組的文本表示)。我使用eval轉換它,這似乎工作正常。我想知道的是如何迭代這個來獲取每個對象,然後每個對象的_id屬性。如何迭代JavaScript對象數組

我試過迭代使用我爲< obj.length但它說obj.length是未定義的。我在網上查看了其他代碼示例,他們總是顯示迭代一個對象的屬性。

說實話,我什至不知道這是什麼。它是一個包含數組的對象,一個包含obbjects的數組?我有點失落。任何在正確的方向微調將不勝感激。

query[{ 
    _createdAt : { 
     '$date' : '2013-08-31T10:17:08.842Z' 
    }, 
    _id : '5221c2a4e4b0899403d2afb5', 
    _updatedAt : { 
     '$date' : '2014-03-03T19:36:58.681Z' 
    }, 
    acl : { 
     '52194f94e4b0899403cbf411' : [ Object ], 
     '' : [ Object ] 
    }, 
    available : true, 
    category1 : 'Pasta', 
    description : 'The classic dish', 
    entity_code : 'stef1', 
    name : 'Spaghetti', 
    price : 23, 
    productlist_code : 'A', 
    sort_order : 3 
}, { 
    _createdAt : { 
     '$date' : '2014-04-19T12:19:01.754Z' 
    }, 
    _id : '535269b5e4b0e44dd0271627', 
    _updatedAt : { 
     '$date' : '2014-04-19T12:19:39.653Z' 
    }, 
    acl : { 
     '52194f94e4b0899403cbf411' : [ Object ], 
     '' : [ Object ] 
    }, 
    available : true, 
    category1 : 'Pasta', 
    description : 'Lovely blah', 
    entity_code : 'stef1', 
    name : 'Blah', 
    price : 20, 
    productlist_code : 'A', 
    sort_order : 5 
}] 
+0

這是JSON,瞭解更多http://www.json.org/ – cmd

+0

我不能使用JSON庫 - 服務器腳本環境不支持它的一些原因。如果它是一個js對象,是否有其他解析方法? – user2693205

回答

0

它是一個結果對象數組。例如:

Ex;

var data = [{..objects..}]; 

data.forEach(function(item) { 
    console.log(item.category1); 
}); 
+0

感謝您的回覆。由於某些原因,服務器腳本環境無法識別forEach。我得到這個異常:forEach沒有定義,ncode:undefined。我不知道如果後端JavaScript是不同於前端。 – user2693205

+0

@ user2693205,再試一次。我更新了我的答案。在陣列上運行forEach。 'data.forEach(...' – aludvigsen