我需要对每本“书”执行相同的操作,但是如何遍历它呢?
我的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"
}
]
}
}
我的源代码是给出每本书的标题以及内容之间的标题,所有这些都没有问题。 只有循环,我有我的问题。 有人有主意吗?
答案 0 :(得分:1)
您必须访问嵌套对象,然后访问其中的数组。
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"];
}
在这里
您的杰森
推断您的
jsonObject
您已经显示。
答案 1 :(得分:0)
您到底想达到什么目的? 如果您想翻阅书籍,可以这样做
bookstore.book.forEach(elem=>{
//logic
}
否则,请详细说明!