2014-11-02 97 views
-1

我有以下對象(稱爲message_tags):如何從該對象檢索值

{ 
    "88": [ 
    { 
     "id":"864794113531613", 
     "name":"Luis Angel Rodriguez", 
     "type":"user", 
     "offset":88, 
     "length":20 
    } 
    ], 
    "112": [ 
    { 
     "id":"640891773501", 
     "name":"Carl Champion Jr.", 
     "type":"user", 
     "offset":112, 
     "length":17 
    } 
    ] 
} 

我可以從它使用的東西像這樣得到的值:

var id = message_tags[88][0].id 

,但在那裏說88112將始終是不同的數字,我可以告訴它將是什麼數字的唯一方法是通過獲取偏移量,當然如果進一步在對象內部。

我怎樣才能遍歷這個對象不知道這些數字可以是什麼? (不能用message_tags[0]因爲它返回未定義

回答

1

您可以通過這樣的對象迭代:

for (var thisKey in message_tags) { 
    if (message_tags.hasOwnProperty(thisKey)) { 
    console.log(thisKey); 
    console.log(message_tags[thisKey]); 
    } 
} 

如果你是100%肯定,原型鏈是乾淨的,你可以離開了。hasOwnProperty()檢查如果你不知道這是什麼意思,絕對讓它在

+0

EXC ellent,謝謝! – 2014-11-02 19:53:40

1

試試這個:

obj = { 
    "88": [ 
    { 
     "id":"864794113531613", 
     "name":"Luis Angel Rodriguez", 
     "type":"user", 
     "offset":88, 
     "length":20 
    } 
    ], 
    "112": [ 
    { 
     "id":"640891773501", 
     "name":"Carl Champion Jr.", 
     "type":"user", 
     "offset":112, 
     "length":17 
    } 
    ] 
} 

for (var key in obj) { 
    if (obj.hasOwnProperty(key)) { 
    alert(key + " -> " + obj[key]); 
    } 
} 
+0

優秀,謝謝! – 2014-11-02 19:53:08