Javascript 使用Jquery解析Json对象时出现问题
我有以下JSON对象Javascript 使用Jquery解析Json对象时出现问题,javascript,jquery,json,parsing,Javascript,Jquery,Json,Parsing,我有以下JSON对象 { "newArrival": { "head": { "name": "New Arrivals", "url": "/new-arrivals/" }, "banner": [ { "name": "Lee Cooper", "url": "/Lee_Cooper/",
{
"newArrival": {
"head": {
"name": "New Arrivals",
"url": "/new-arrivals/"
},
"banner": [
{
"name": "Lee Cooper",
"url": "/Lee_Cooper/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-lee-cooper-1.jpg",
"alt": "",
"title": ""
},
{
"name": "Ray Ban",
"url": "/Ray-Ban/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-ray-ban-1.jpg",
"alt": "",
"title": ""
},
{
"name": "Vero Moda",
"url": "/vero-moda/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-vero-moda-1.jpg",
"alt": "",
"title": ""
}
]
}
}
我想读取标题和横幅标签的值。我使用以下Jquery代码:
$.each(json.newArrival, function (i, newArr) {
$.each(newArr, function (index, value) {
alert(value);
});
});
但是,我不能以任何方式阅读head和banner
任何人都可以帮忙
先谢谢你
--
Ashu转到您想要替代json.newArrival.banner的任何节点
$.each(json.newArrival.banner, function (i, newArr) {
alert(newArr.name);
});
试试这个
var data = JSON.stringify({
"newArrival": {
"head": {
"name": "New Arrivals",
"url": "/new-arrivals/"
},
"banner": [
{
"name": "Lee Cooper",
"url": "/Lee_Cooper/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-lee-cooper-1.jpg",
"alt": "",
"title": ""
},
{
"name": "Ray Ban",
"url": "/Ray-Ban/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-ray-ban-1.jpg",
"alt": "",
"title": ""
},
{
"name": "Vero Moda",
"url": "/vero-moda/",
"src": "http://indfas1.images.com/images/abc/menu/new-arrival-vero-moda-1.jpg",
"alt": "",
"title": ""
}
]
}
})
var data1 = JSON.parse(data)
console.log(data1.newArrival.head.name)
console.log(data1.newArrival.head.url)
console.log(data1.newArrival.banner[0].name)
console.log(data1.newArrival.banner[0].url)
console.log(data1.newArrival.banner[0].src)
console.log(data1.newArrival.banner[0].src)
这将有助于您尝试此功能
var JsonObj = Say yourValues
var headObj = JsonObj.newArrival.head; //head json values
var bannerObj = JsonObj.newArrival.banner; //banner json Values
说你想访问bannerObj的名字
alert(bannerObj [0].name);
您拥有的代码“按原样工作”。但是,您访问标题数据和横幅数据的方式有所不同
因为head是一个对象,所以内部的每个对象都将迭代其成员,即newArrival.head.name和newArrival.head.url
因为banner是一个数组,所以您将迭代对象。如果您通过这些对象访问每个对象,您将访问名称、url、src等
因此,您所拥有的应该以新到达的、/newarrivals/、[Object Object]、[Object Object]、[Object Object]
为什么不直接访问newArrival.head的成员(如果需要),然后使用
alert(json.newArrival.head.name);
alert(json.newArrival.head.url);
$.each(json.newArrival.banner, function (i, newArr) {
$.each(newArr, function (index, value) {
alert(value);
});
});
使用
json.newArrival[0]
而不是json.newArrival
对我有效您的个人资料有问题。这不是一个“高级软件工程师”应该回答的问题ask@thenewseattle:这与个人资料无关。有时事情并不像你期望的那样顺利,当你很匆忙,不想陷入这种愚蠢的逻辑,不想尽快找到它们来推进工作时。@AshuS如果你认为问题已经解决,你必须选择johan的答案作为选择答案。