2011-12-02 50 views
0

我使用Backbone.js的與軌道0.53 3,目前收到以下數組一個GET:在數組訪問特定值JSON對象

[{"credit_card": 
    {"id":2,"cc_number":"12345678912345","cc_type":"stack","owner":"overflow"}}, 
    ....next objects....] 

我已經閱讀了很多其他線程,但可以不知道如何訪問這些值。 有沒有什麼辦法可以像.get()這樣的骨幹給定方法來做到這一點?

我試圖

myArray = eval(arrayJSON) 
alert myArray.length #works 

但在陣列中訪問所述單個值或遍歷失敗的任何其他方式。 也許我只是想念這裏的東西。

+0

您嘗試了其他什麼方法? –

+0

試圖用myArray [i] for循環來遍歷它。 (=>未定義)和主幹。每個方法,但我猜這隻有當你有你的JSON這樣的格式{(val1),(val2)} – user966041

+1

你如何從服務器獲取數據?如果eval有效,但沒有其他可能,那麼您可能正在使用響應類型的文本加載JSON。 – ProTom

回答

0

如何經由下劃線所有結果快速迭代,例如:

/* received results mocking */ 

model.attributes = [ 
    { "credit_card" : { "id":2, "cc_number":"12345678912345" }, 
    { "credit_card" : { "id":3, "cc_number":"44444444455555" }, 
    { "credit_card" : { "id":4, "cc_number":"66666655554332" } 
] 

/* lets get all results */ 

results = model.toJSON() 

/* loop through all results */ 

_(results).each(item) { 
    console.log(item.credit_card.id); 
} 

/* get result by array pos */ 

console.log(results[1]); // get 2nd item 

乾杯

+0

絕對瘋狂!不能像我通常會和@David Brainer-Banker建議的那樣循環訪問數組,但這種方式正在工作。非常感謝!如果有人對此有解釋,會非常有趣!至於我使用HAML的語法,請參考 – user966041

+0

。可能對所有做同樣的事情有幫助:_each(results,(item) - > console.log(item.credit_card.id) ) – user966041

0

這可能是看到更多的細節是有用的,但一般而言,您應該能夠訪問元素就好了,語法如下:alert(myArray[0].credit_card.cc_number);

我甚至貼上您的樣本數組的jsfiddle,也沒有問題:http://jsfiddle.net/P4w7T/1/