如何访问位于数组中的对象,该数组本身位于JSON对象中?
JSON结构:
{
"name":"animals",
"type":"farmyard",
"version": "1.0",
"items": [{
{
"name": "pig",
"description": "pink, round"
},
{
"name": "chicken",
"description": "small, yellow"
}
}]
}
到目前为止,这是JS ......
$.getJSON( "https://_LINK_TO_JSON.json", function( data ) {
var farm = [];
var animals = [];
$.each( data, function( key, val ) {
farm.push(key, val);
var animals = farm[3];
console.dir(animals);
});
console.dir(animals);
});
我尝试使用farm.items
来定位数组,但这不起作用,所以我使用了索引号。
(当然,使用farm.items[1].name
来定位名字也不起作用。)
我不能仅仅使用点符号来解决JSON keys
和values
在引号内的事实吗? (我实际上无法编辑JSON提要,因为它是外部的。)
如何简单地定位嵌套数组并获取我想要的项目及其属性?
答案 0 :(得分:2)
您的JSON结构中存在错误。你的JSON必须是:
var data = {
'name':'animals',
'type':'farmyard',
'version': '1.0',
'items': [
{
'name': 'pig',
'description': 'pink, round'
},
{
'name': 'chicken',
'description': 'small, yellow'
}
]
};
console.log(data.items);
答案 1 :(得分:1)
你可以使用jquery的$ eaach函数作为
$.getJSON (urltoJSON, function(data){
$.each(data.response.venue.items, function (index, value) {
console.log(this.name);
console.log(this.description);
});
});
你也可以将json保存在javascript变量中并以
的形式迭代它data= 'get ur json'
for ( i in data.items ) {
console.log ( i.name + "" )
console.log ( i.description + "" );
}