Перебор объекта JSON в jquery

У меня есть объект json как

[
{"DisplayName":"Answer Number 1","Value":"Answer1","Option":"True"},
{"DisplayName":"Answer Number 1","Value":"Answer1","Option":"False"},
{"DisplayName":"Answer Number 2","Value":"Answer2","Option":"True"},
{"DisplayName":"Answer Number 2","Value":"Answer2","Option":"False"}
]

Мне нужно создать 2 выпадающих списка из этого объекта как

Ответ номер 1 -> Верно/Неверно

Ответ номер 2 -> Верно/Неверно

выпадающую часть я сделаю сам. Я просто запутался в том, как перебирать этот объект. Может ли кто-нибудь привести мне пример?


person Gautam    schedule 19.06.2013    source источник
comment
вы пропустили запятую после второго элемента?   -  person leonhart    schedule 19.06.2013
comment
Вы не можете изменить структуру JSON? Это кажется ужасным способом представления информации, которую вы хотите.   -  person Anthony Grist    schedule 19.06.2013


Ответы (4)


ваши объекты json jsonObject хранятся в массиве. Делать :

$.each(jsonArray, function(index,jsonObject){
    $.each(jsonObject, function(key,val){
        console.log("key : "+key+" ; value : "+val);
    });
});

это даст вам

key : DisplayName ; value : Answer Number 1
key : Value ; value : Answer 1
key : Option ; value : true

В любом случае Антон прав. Вашей структурой будет трудно манипулировать

person TCHdvlp    schedule 19.06.2013
comment
Спасибо, это помогло - person Vipertecpro; 16.09.2020

Ваш JSON недействителен. Что насчет этого :

var json = '[
    {"DisplayName":"Answer Number 1","Value":"Answer1","Option":"True"},
    {"DisplayName":"Answer Number 1","Value":"Answer1","Option":"False"},
    {"DisplayName":"Answer Number 2","Value":"Answer2","Option":"True"},
    {"DisplayName":"Answer Number 2","Value":"Answer2","Option":"False"}
]';
var jsonObject = $.parseJSON(json); //Only if not already an object
$.each(jsonObject, function (i, obj) {
    alert(obj.DisplayName);
});

Скрипт

person LMeyer    schedule 19.06.2013

Используйте jQuery.each()

$.each( yourArrayOfObjects, function( index, object ){
  // do your magic here
});
person Petr Vostrel    schedule 19.06.2013

var json = [{
    "DisplayName": "Answer Number 1",
        "Value": "Answer1",
        "Option": "True"
}, {
    "DisplayName": "Answer Number 1",
        "Value": "Answer1",
        "Option": "False"
}, {
    "DisplayName": "Answer Number 2",
        "Value": "Answer2",
        "Option": "True"
}, {
    "DisplayName": "Answer Number 2",
        "Value": "Answer2",
        "Option": "False"
}];

Повторить

    for (i in json) {
//json[i] is your current object inside the array, {"DisplayName":"Answer Number 1","Value":"Answer1","Option":"True"}
        for (key in json[i]) {
// keys are DisplayName,  Value, Option
            alert(key);
            alert(json[i][key]); // instead of writing object.key you can also write object[key]
        }
    }
person Atif    schedule 19.06.2013