2012-12-20 117 views
0

可能重複:
I have a nested data structure/JSON, how can I access a specific value?jQuery的如何從我的JSON數組中獲取數據

請我得到這個下面的JSON字符串在我的阿賈克斯:

{ 
    "products": [ 
     { 
      "id":   48, 
      "quantity":  1, 
      "priceByLine": "950,00 €", 
      "name":   "Filtre Mixte", 
      "price":   "950,00 €" 

     }], 

    "total": "950,00 €", 
    "productTotal": "950,00 €" 
    } 

要得到總價格,我只需要做:

alert(data.total); 

但是,當我想要得到的Id,我做的:

alert(data.products.id); 

它給了我不確定

請高手,我該怎麼辦才能得到身份證?

在此先感謝!

回答

1

Products是一個包含一個object類型元素的數組。因此,你應該鍵入:

alert(data.products[0].id);

你的聲明將是有效的,如果結構是:

{ 
"products": 
    { 
     "id":   48, 
     "quantity":  1, 
     "priceByLine": "950,00 €", 
     "name":   "Filtre Mixte", 
     "price":   "950,00 €" 

    }, 

"total": "950,00 €", 
"productTotal": "950,00 €" 
} 
+0

感謝您的解釋! –

0

試試這個..因爲你的產品是在陣列

alert(data.products[0].id); 
1

好,data.products是一個數組,因此您無法獲得該數組的id,您需要嘗試查找其中每個元素的屬性。

例如,這會給你一個結果:

alert(data.products[0].id); 

但是,你可以嘗試通過數據循環:

data.products.forEach(function(product) { 
     alert(product.id); 
}); 

注意上述forEach不會壞舊瀏覽器中工作(包括IE8),但它可以用任何現代工作。如果您需要支持較舊的,請使用for loop

1

我不知道,但如果你試試這個:

alert(data.products[0].id); 

由於產品的關鍵似乎是一個數組,但只有一行。

相關問題