2012-08-09 33 views
3

使用$.getJSON,我得到了一個非常大的結果,其中包含了我們每個產品的元素。我需要使用變量訪問一些屬性,但無法設法找出jQuery語法來實現這一點。如何檢索帶有變量的JSON對象元素?

$.getJSON("datasource.php",function(licensed){ 
    // Hardcoded works 
    alert (licensed.product5200.order_id); 

    // How to use a variable instead, something like this: 
    var MyVar = "product5200"; 
    alert (licensed.MyVar.order_id); 
}); 

編輯:有沒有一種方法來確定在我開始使用它之前是否存在「product5200」?
console.info('Is It There?:' + licensed['product5200'].hasOwnProperty);

解答:console.info('Is It There?:' + licensed.hasOwnProperty('product5200'));

JSON對象示爲PHP數組爲清楚起見僅

[licensed] => Array 
    (
     [product5200] => Array 
      (
       [product_id] => 5200 
       [order_id] => 159004882 
      ) 
     [product5204] => Array 
      (
       [product_id] => 5204 
       [order_id] => 159004882 
      ) 

回答

4

可以使用在對象陣列的存取表示法爲好。

licensed[MyVar].order_id 

應該工作。

順便說一句,我建議console.log高於alert,特別是在Chrome瀏覽器(它允許您檢查記錄的對象的內容)。

+0

啊...從數組的開始就開始了,但是當我學習這些東西的時候,谷歌搜索引起了我一個特定的路徑。順便說一句,我通常會使用控制檯 - 當我不想失去正在處理的事情時,我使用警報 - 它讓我感到厭煩,直到完成它,大聲笑 – GDP 2012-08-09 18:52:57

+0

並且謝謝,順便說一句...... KevinB實際上回答了它首先,所以我必須接受他的回答,但+1爲你的安慰! :) – GDP 2012-08-09 18:55:54

+0

@GDP它說我8分鐘前回答,他回答9分鐘前 – 2012-08-09 18:57:59