2013-11-22 104 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

謝謝約翰:)它的工作原理! –