2009-12-28 99 views
1

我的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.我應該寫些什麼?

回答

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

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」

或者你湊ld循環並遍歷所有對象。

4

我會建議修改JSON,如果可能的話,使用AID作爲對象列表的關鍵字而不是發送列表。如果你不能改變JSON,我會把這些對象放到一個關聯數組中,並使用AID作爲關鍵字,這樣你就可以根據需要直接找到對象。

0

你可以做(​​據我所知)的唯一的事情,被搜索的幫助:使用for迴路4對:

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

我不認爲有一個更簡單的方法來做到這一點。