Javascript 使用Jquery解析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/",

我有以下JSON对象

{
    "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的答案作为选择答案。