javascript - 寻址 JSON 数组中的对象

标签 javascript arrays json pug

我正在将 JSON 数组发送到脚本以进行进一步处理。 JSON 数组包含一堆对象,每个对象又包含一个对象数组。我需要知道的是如何访问这些嵌套对象中的值。因此,例如,如果脚本收到以下内容:

petlist = [
    {"cats":[
            {"catName":"Felix","catType":"British short haired"}
        ]
    },
    {"dogs":[
            {"dogName":"Fido","dogType":"Labrador"}
        ]
    },
    {"fish":[
            {"fishName":"Bob","fishType":"Goldfish"}
        ]
    },
    {"birds":[
            {"birdName":"Polly","birdType":"Parrot"}
        ]
    }
]

然后我将如何寻址,例如,a)dogName,b)birdType,或c)整个 cats 对象?

另外,我的术语正确吗?据我了解,方括号中的内容是一个数组,而大括号中的内容是一个对象。

编辑:我正在 Javascript 中构建 JSON,然后需要访问 Jade 模板中的元素(在“每个”循环中)

谢谢

最佳答案

我稍微改变了你的 JSON,因为我认为使用它并不是很有趣。基本上我只是循环遍历对象,这就是为什么我认为你应该有一个像 name 这样的键,而不是 dogName、catName 等。

您可以在 JSFiddle 中找到 Jade 的工作示例

HTML

<div id="jadeoutput"></div>
<pre id="jadeinput" style="display:none">
- console.log(petlist)
h1 List
  ul.list
    - for(var i in petlist)
      li= "Item - "+ petlist[i].name 
      - for(var j in petlist[i].pets)
      li= "Pet - " + petlist[i].pets[j].name + " " + petlist[i].pets[j].type
</pre>

JavaScript

$(function() {
    var json = {
    "petlist" : [
        { 
            "name" : "cats",
            "pets":
            [
                { "name":"Felix","type":"British short haired"}
            ]
        },
        {
            "name" : "dogs",
            "pets":
            [
                {"name":"Fido","type":"Labrador"}
            ]
        },
        {
            "name" : "fish",
            "pets":
            [
                {"name":"Bob","type":"Goldfish"}
            ]
        },
        {
            "name" : "birds",
            "pets" :
            [
                {"name":"Polly","type":"Parrot"}
            ]
        }
    ]};

    $("#jadeoutput").html(jade.compile($("#jadeinput").html())(json));
});

关于javascript - 寻址 JSON 数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38265994/

相关文章:

arrays - 点击手势 Swiftui

c# 一种将多个数组复制/合并到一个数组中的更好方法

带 while 循环的 JavaScript 数组

java - 如何在beanshell中构造Java中的多个对象和JSON数组并查看输出

javascript - 获取 json 数组的下一个和上一个元素

javascript - 部署到 Heroku 时如何忽略 GitHub 存储库中的文件?

javascript - 使用 Knockout 将项目添加到列表后更改背景颜色

javascript - 在 Rails 中使用 Google 的可视化组织结构图

javascript 文件输入 onchange 不起作用 [仅限 ios safari]

javascript - 巴别塔 6 : Too many arguments passed error