2011-12-02 67 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/