访问JSON对象数组中的特定值

时间:2011-12-02 17:40:17

标签: ruby-on-rails json backbone.js

我正在使用rails 3和backbone.js 0.53并且目前正在接收带有以下数组的GET:

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

我已经阅读了很多其他线程,但无法弄清楚如何访问这些值。 是否有任何方法可以使用骨干给定的方法,如.get()?

我试过

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

但是访问数组中的单个值或迭代它的任何其他方式都会失败。 可能我在这里错过了一些东西。

2 个答案:

答案 0 :(得分:0)

查看更多详细信息可能很有用,但一般情况下,您应该可以使用以下语法访问元素:alert(myArray[0].credit_card.cc_number);

我甚至将您的示例数组粘贴到jsFiddle中并且没有问题:http://jsfiddle.net/P4w7T/1/

答案 1 :(得分: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

干杯

相关问题