получить имя объекта в объекте json, используя jquery .each

0

У меня есть json-объект, подобный этому

["items"]=>
    ["apple"]=>
             ["id"]=> "1234"
             ["price"]=> "1"
    ["pear"]=>
             ["id"]=> "4322"
             ["price"]=> "2"
    ["banana"]=>
             ["id"]=> "345"
             ["price"]=> "1"

Тем не менее, я не знаю имя каждого элемента при извлечении, как я могу получить доступ к элементам и получить имена, яблоко, грушу, банан и отобразить его свойства (id & price).

Обычно я знаю имя, я бы просто использовал items.apple.id или items.apple.pear

$.each(items, function(){
     console.log(this.apple.id);
});

Пример jquery.each выше показывает, знаю ли я имя, но что, если я не его яблоко, я хочу перечислить все элементы?

  • 0
    Не могли бы вы предоставить настоящий формат JSON? - не могу понять, что такое массив и что такое хэш-карта. (кстати. какой это формат?)
  • 0
    Я просто хочу это проиллюстрировать.
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Попробуй это,

$.each(items, function(ind,val){
     console.log(val.id);
});

демонстрация

  • 0
    val[apple] ??
0

При вызове объекта $.each передает каждую key и value качестве параметров для функции:

$.each(items, function(key, value) {
    console.log(items[key].id);    // or value.id
});

Обратите внимание, что для комментария в коде поле value будет внутренним вложенным объектом, поэтому вы можете просто получить доступ к его полям напрямую (например, value.id). Я использовал items[key] чтобы явным образом показать, какие параметры передаются, поскольку вы специально сказали, что хотите узнать имя объекта.

  • 0
    отлично, я проверю это
  • 0
    я должен использовать предметы или this ?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню