我想使用jquery获取一个复杂/嵌套的json
I want to fetch a complex/nested json using jquery
请帮助我获取JSON对象;我想获取名称,poster.image.url,backgrounds.image[1],大小和版本。
我是JSON的新手,有什么简单的方法可以理解吗。
我已经写了这个
$(document).ready(function() {
$.getJSON("customer.json",function(data){
$.each(data,function(key,value){
$("ul").append("<li>"+ value.name+ value.posters.image.type +"</li>");
});
});
});
我真的坚持了下来。
我的JSON文件是
[
{
"name": "Masculin feminin",
"alternative_name": "Masculin féminin oder: Die Kinder von Marx und Coca Cola",
"posters": [
{
"image": {
"type": "poster",
"size": "thumb",
"height": 130,
"width": 92,
"url": "http://cf2.imgobject.com/t/p/w92/issm1E827fK7KHMEdRORA9BoTPs.jpg",
"id": "4ea5ebb234f8633bdc0020cb"
}
}
],
"backdrops": [
{
"image": {
"type": "backdrop",
"size": "thumb",
"height": 172,
"width": 300,
"url": "http://cf2.imgobject.com/t/p/w300/AnnWas1TyMRRyFuNT9bCZoeqg3t.jpg",
"id": "4ea5ebb734f8633bdc0020cf"
}
},
{
"image": {
"type": "backdrop",
"size": "poster",
"height": 448,
"width": 780,
"url": "http://cf2.imgobject.com/t/p/w780/AnnWas1TyMRRyFuNT9bCZoeqg3t.jpg",
"id": "4ea5ebb734f8633bdc0020cf"
}
},
{
"image": {
"type": "backdrop",
"size": "w1280",
"height": 736,
"width": 1280,
"url": "http://cf2.imgobject.com/t/p/w1280/AnnWas1TyMRRyFuNT9bCZoeqg3t.jpg",
"id": "4ea5ebb734f8633bdc0020cf"
}
},
{
"image": {
"type": "backdrop",
"size": "original",
"height": 768,
"width": 1336,
"url": "http://cf2.imgobject.com/t/p/original/AnnWas1TyMRRyFuNT9bCZoeqg3t.jpg",
"id": "4ea5ebb734f8633bdc0020cf"
}
}
],
"version": 463,
"last_modified_at": "2012-04-20 11:05:03 UTC"
}
]
您需要注意对象内部的数组。例如,以下是您如何访问第一张海报中的图像类型:
var imageType = data[0].posters[0].image.type;
有两个数组,所以每个循环需要两个:
$(document).ready(function() {
$.getJSON("customer.json",function(data){
$.each(data,function(key,customer){
$.each(customer.posters,function(key,poster){
$("ul").append("<li>"+ customer.name + " - " + poster.image.type +"</li>");
});
});
});
});
演示
非常感谢Tshepang,你太棒了。只是想问我是否必须显示backgrounds.image[2].url,所以我需要再次在里面制作$.each循环。我只是想了解这个循环需要如何完成。
我做到了,
$(document).ready(function(){$.getJSON("customer.json",function(customer){$.each(customer,function(key,customer
相关文章:
- 如何使用原型继承编写一个整洁灵活的复杂javascript应用程序
- 解析一个复杂的JavaScript表达式,将其改写为另一种格式
- 如何等待一个HTML页面并在页面复杂创建时获得结果
- 在javascript中拼接一个复杂的多维数组
- 从一个复杂的JSON对象打印每个JSON输入路径
- 如何知道一个特定的值在复杂的JSON中是否可用
- 解析并构造一个复杂的json
- Jquery attr src 从 src 中删除了一个字符串,但没有删除更复杂的字符串,为什么
- 将复杂内容(想想整个网页树)从一个 Web 应用程序提供给另一个网站的最佳可重用解决方案是什么?
- 挖空JS只使复杂对象数组的一个属性可观察
- 使用一个正则表达式分析复杂字符串
- 如何让WebAPI在不使用C#属性的情况下接受一个复杂对象作为DELETE HTTP谓词的参数
- 复杂的循环节点模块依赖抛出“类型错误:'继承'的超级构造函数必须有一个原型”
- Emberjs:使用父级和子级的数据创建一个复杂的操作
- 有两个函数更好的做法,还是有一个复杂的函数
- WebGL/Three.js一个复杂对象(网格)上的不同材质
- 测试一个复杂的AngularJS模块(自动展开菜单)
- 将一个复杂的模型绑定到MVC中的下拉列表
- 在 jsp 页中设计一个复杂的结构,并使用操作类在其上传达值
- 主干创建一个复杂的标签名视图