2012-08-09 34 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