Как я могу получить количество существующих конкретных имен в JSON - PullRequest
0 голосов
/ 04 июля 2019

Мне нужно одинаковое выполнение для каждой «книги», но как мне пройти через нее?

Мой JSON:

{
  "bookstore": {
    "book": [
      {
        "-category": "cooking",
        "title": {
          "-lang": "en",
          "#text": "Everyday Italian"
        },
        "author": "Giada De Laurentiis",
        "year": "2005",
        "price": "30.00"
      },
      {
        "-category": "children",
        "title": {
          "-lang": "en",
          "#text": "Harry Potter"
        },
        "author": "J K. Rowling",
        "year": "2005",
        "price": "29.99"
      },
      {
        "-category": "web",
        "title": {
          "-lang": "en",
          "#text": "Learning XML"
        },
        "author": "Erik T. Ray",
        "year": "2003",
        "price": "39.95"
      }
    ]
  }
}

Мой исходный код состоит в том, чтобы выдавать заголовки для каждой книги и между ними - все это не проблема. только с зацикливанием у меня проблемы. У кого-нибудь есть идея?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Вы должны получить доступ к вложенному объекту, а затем к массиву внутри него.

var bookstoreObj= yourJson["bookstore"];
var bookArr=bookstoreObj["book"];

теперь у вас есть массив книг, итерируйте по нему.

for(var i=0;i<bookArr.length;i++)
{
   var book=bookArr[i];
  //get value which you want:-category, author,year, price like this
   var author= book["author"];

  //to access title object:
  var title=book["title"] ;
  //now you can access:-lang, #text field
  var lang= title["-lang"];
  var text=title["#text"];

}

здесь,

yourJson

выводит на ваш

jsonObject

, который вы показали.

0 голосов
/ 04 июля 2019

Чего именно вы пытаетесь достичь? Если вы хотите просмотреть книгу, вы можете сделать это следующим образом

bookstore.book.forEach(elem=>{
 //logic
}

В противном случае, пожалуйста, уточните!

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