Reputation: 21
I have following JSON object.
{
"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": ""
}
]
}
}
I want to read head and banner tags value. I'm using following Jquery code:
$.each(json.newArrival, function (i, newArr) {
$.each(newArr, function (index, value) {
alert(value);
});
});
But, I'm not able to read head and banner in any way.
Anybody Please help!!
Thanks a lot in advance.
-- Ashu
Upvotes: 0
Views: 103
Reputation: 185
The code you have "works" as is. However, there is a difference between how you will have to access head data and banner data.
Because head is an object, your inner each will iterate over its members, i.e. newArrival.head.name and newArrivale.head.url.
Because banner is an array, you will be iterating over objects. If you then each through those objects, you will be accessing name, url, src etc.
Thus, what you have should alert, in sequence New Arrivals, /new-arrivals/, [Object object], [Object object], [Object object]
Why not directly access the members of newArrival.head (if you need them) and then iterate over newArrival.banner with
alert(json.newArrival.head.name);
alert(json.newArrival.head.url);
$.each(json.newArrival.banner, function (i, newArr) {
$.each(newArr, function (index, value) {
alert(value);
});
});
Upvotes: 1
Reputation: 540
Try This ..
var JsonObj = Say yourValues
var headObj = JsonObj.newArrival.head; //head json values
var bannerObj = JsonObj.newArrival.banner; //banner json Values
Say you want to access bannerObj first name...
alert(bannerObj [0].name);
Upvotes: 0
Reputation: 5655
Try with this one
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)
This will help you
Upvotes: 0