JSON — data.items не определен

#jquery #undefined #each

#jquery #не определено #каждый

Вопрос:

Я не могу обернуть в my data.items , потому что он содержит массивы массивов, и вдруг я чувствую, что он потерян. data.items is undefined .

Я использую jQuery для завершения $.each .

Мой JSON указан ниже:

 {
    "success": true,
    "name": "factors",
    "items": [
        {
            "name": "type de lieux",
            "value": {
                "appartement": "Appartement",
                "maison individuelle": "Maison individuelle"
            }
        },
        {
            "name": "surface",
            "value": {
                "79": "< 80",
                "81": "> 80"
            }
        }
    ]
}
  

Я делаю это с помощью jQuery, но возвращаю сообщение об ошибке, описанное выше:

 $.each(data['items'], function(i, item) {
    alert('oki');
});
  

Что я должен сделать в качестве поправки?

Заранее благодарю вас.

Комментарии:

1. работает для меня jsfiddle.net/nuWT4

Ответ №1:

Если вы хотите повторить использование —

 var data = {"success":true,"name":"factors","items":[{"name":"type de lieux","value":{"appartement":"Appartement","maison individuelle":"Maison individuelle"}},{"name":"surface","value":{"79":"< 80","81":"> 80"}}]};

$(data.items).each(function(i, item) {
    alert(item.name " : " item.value);
});
  

Пример — http://jsfiddle.net/rXETR /

Комментарии:

1. Спасибо! Я смог решить свои проблемы из того, что вы предоставили! PS: Спасибо @f0x за внесенные вами исправления

Ответ №2:

Делаем еще один шаг вперед:

В этом примере выполняется итерация по вложенным парам «ключ-значение» массива объектов «элементы».

Данные в формате JSON

 var data = {
  "success": true,
    "name": "factors",
    "items": [{
    "name": "type de lieux",
      "value": {
      "appartement": "Appartement",
        "maison individuelle": "Maison individuelle"
    }
  }, {
    "name": "surface",
    "value": {
      "79": "< 80",
      "81": "> 80"
    }
  }]
};
  

Обработка данных

 $.each(data.items, function (i, val) {
  $.each(val.value, function (key, value) {
    alert('"'   data.name   '" ['   i   '] '   val.name   '" : "value" -> '   key   ' '   value);
  });
});
  

http://jsfiddle.net/rXETR/6/