Как получить данные из вывода JSON - PullRequest
2 голосов
/ 25 июля 2010

У меня есть вывод json, который выглядит следующим образом.

{
   "38467": {
      "name": "Tony Parker",
      "book": [
         {
            "title": {
               "name": "MediaWorks"
            },
         },
       ],
   }
   "59678": {
      "name": "Ray Thomas",
   }
}

На самом деле вывод json гораздо больше.Но я хочу сохранить только имя автора и его издателя.Я хочу сохранить несколько отдельных записей для одной модели.

Я использую jquery для присвоения элементам ввода их значений.

  $('#Author' + i + 'Title').val(response...);

Но это не работает.

Iблагодарю за любую помощь.

Спасибо.

1 Ответ

2 голосов
/ 25 июля 2010

JSON - это просто данные javascript - объект javascript.Присвойте «декодированные» данные JSON переменной (скажем, var dat), затем вы сможете получить доступ к членам обычного объекта / массива: dat[38467]['name'] равно Tony Parker и т. Д.

обновление комментария:

как только вы декодировали / сохранили данные, вы можете использовать обычный цикл javascript foreach для его просмотра:

for (var bookID in booklist) {
   var author = booklist[bookID]['name'];
   var title =  booklist[bookID]['book'][0]['title']['name'];
   // ...do stuff here...
}

В JSON нет ничего волшебного, это просто данные javascript, упакованные дляпростая / чистая коробка передач.Конечно, если вы используете такую ​​инфраструктуру, как jQuery или MooTools, вам лучше использовать их собственные операторы .each(), в противном случае вы получите различные кусочки бесполезного пуха из цикла for().

edit: исправлен пример кода согласно комментарию маримута (хороший улов, спасибо).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...