JSON元素选择

时间:2009-12-28 18:01:29

标签: javascript json

我的JSON对象如下所示:

[{"aid":"1","atitle":"Ameya R. Kadam"},{"aid":"2","atitle":"Amritpal Singh"},{"aid":"3","atitle":"Anwar Syed"},{"aid":"4","atitle":"Aratrika"},{"aid":"5","atitle":"Bharti Nagpal"}]

正如您所看到的,名称通过相关的辅助来区分。现在假设我想显示堆叠的名称:4。我应该为此写什么js?

4 个答案:

答案 0 :(得分:4)

我建议如果可能的话修改JSON以使用AID作为对象列表的键而不是仅发送列表。如果您无法更改JSON,我会将对象放入关联数组中,并使用AID作为键,以便您可以根据需要直接访问对象。

答案 1 :(得分:1)

你可以循环遍历数组的元素,测试每个元素,如果它的帮助是4:

var list = [{"aid":"1","atitle":"Ameya R. Kadam"},
        {"aid":"2","atitle":"Amritpal Singh"},
        {"aid":"3","atitle":"Anwar Syed"},
        {"aid":"4","atitle":"Aratrika"},
        {"aid":"5","atitle":"Bharti Nagpal"}
    ];
var length = list.length;
var i;
for (i=0 ; i<length ; i++) {
    if (list[i].aid == 4) {
        alert(list[i].atitle);
        break; // Once the element is found, no need to keep looping
    }
}

将以“Aratrika

发出提醒

答案 2 :(得分:1)

你可以简单地做到

var someValue = [{"aid":"1","atitle":"Ameya R. Kadam"},{"aid":"2","atitle":"Amritpal Singh"},{"aid":"3","atitle":"Anwar Syed"},{"aid":"4","atitle":"Aratrika"},{"aid":"5","atitle":"Bharti Nagpal"}];
console.log(someValue[3]["atitle"]);

这应该给你“Aratrika”

或者,您可以遍历并遍历所有对象。

答案 3 :(得分:0)

你能做的唯一事情(据我所知),正在寻找援助:4对使用for循环:

a = [ /* data here ... */ ];
for (var i = 0; i < a.length; i++) {
    if (a[i].aid == 4) {
        name = a[i].name;
        break;
    }
}

我认为没有更容易的方法。