我需要对每本“书”进行相同的执行,但是我如何循环它?
我的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"
}
]
}
}
我的源代码是给出每本书的标题以及内容之间的标题,这一切都没有问题。 只有循环我才有问题。 有人有想法吗?
最佳答案
您必须访问嵌套对象,然后访问其中的数组。
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
你已经展示了。
关于javascript - 如何获取 JSON 中现有特定名称的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56884410/