我正在将 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/