javascript - 如何获取 JSON 中现有特定名称的数量

标签 javascript json for-loop

我需要对每本“书”进行相同的执行,但是我如何循环它?

我的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/

相关文章:

javascript - javascript 中是否有 if(variable1){variable2 ="string:"+variable1} 的简化表达式?

javascript - 为什么我的复选框在点击后没有更新?

java - 使用从 parse.com 获取的数据清空 RecyclerView

C# 为什么 List.Remove() 中断 'for loop' ?

javascript - 管理动态磁贴和应用程序生命周期

java - 在 FCM 通知后台发送 JSON

python - 如何解析包含相似数据的不同 JSON 模式?

c++ - 让 if 语句在 for 循环中工作(使用动态数组和指针)

xcode - For 循环中的 UITextView 缺少参数

javascript - 如何使用路由和 Controller 将数据显示为 JSON?