2013-11-22 76 views
0

我有以下JSON对象。问题使用Jquery解析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); 
    }); 
}); 

但是,我无法以任何方式读取头部和横幅。

有人请帮助!

非常感谢。

- 阿树

+0

使用访问newArrival.head的成员(如果需要的话),然后遍历newArrival.banner'json.newArrival [0]'代替'json.newArrival'的作品 – dreamweiver

+0

适用于我的作品http://jsfiddle.net/VjLGA/ –

+0

您的个人资料出现问题。这不是“高级软件工程师”应该问的问题 – thenewseattle

回答

0

去哪个节点过你的地方json.newArrival.banner的希望

$.each(json.newArrival.banner, function (i, newArr) { 
    alert(newArr.name); 
}); 

fiddle

+0

谢谢@fiddle ... –

0

与这一个

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) 

尝试这会帮助你

0

试试这个..

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); 
1

你的代码 “作品” 原样。但是,您将不得不访问头像数据和横幅数据。

因为头是一个对象,你的内每个将遍历其成员,即newArrival.head.name和newArrivale.head.url。

由于横幅是一个数组,你会在对象迭代。如果你每次通过这些对象,你将访问名称,网址,src等。

因此,你应该警惕,按顺序新来港定居人士,/ new-arrivals /,[对象对象],[对象对象],[Object对象]

为什么不直接与

alert(json.newArrival.head.name); 
alert(json.newArrival.head.url); 
$.each(json.newArrival.banner, function (i, newArr) { 
    $.each(newArr, function (index, value) { 
     alert(value); 
    }); 
}); 
+0

谢谢约翰:)它的工作原理! –