2009-12-28 2 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"]); 

Это должно дать вам "аратрика"

В качестве альтернативы вы Коу ld и перебирать все объекты.

4

Что я хотел бы предложить, это изменить JSON, если возможно использовать AID в качестве ключа для списка объектов, а не просто отправить список. Если вы не можете изменить JSON, я бы поставил объекты в ассоциативный массив, используя AID в качестве ключа, чтобы вы могли напрямую обращаться к объектам по мере необходимости.

0

Единственное, что вы можете сделать (насколько я знаю), ищет помощи: 4 пары, используя for цикл:

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

Я не думаю, что есть более простой способ сделать это ,

Смежные вопросы