【问题标题】:How to retrieve JSON object elements with variables?如何使用变量检索 JSON 对象元素?
【发布时间】:2012-08-10 03:43:17
【问题描述】:

使用$.getJSON,我得到了一个非常大的结果,其中包含我们每个产品的元素。我需要使用变量访问一些属性,但无法弄清楚 jQuery 语法来做到这一点。

$.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
            )

【问题讨论】:

    标签: jquery getjson


    【解决方案1】:

    您也可以对对象使用数组访问表示法。

    licensed[MyVar].order_id
    

    应该可以。

    顺便说一句,我建议 console.log 优于 alert,尤其是在 Chrome 中(它可以让您检查记录对象的内容)。

    【讨论】:

    • 啊...从数组的路径开始,但是当我学习这些东西时,谷歌搜索让我走上了一条特定的道路。顺便说一句,我通常使用控制台——当我不想忘记我正在做的事情时,我会使用警报——它一直困扰着我,直到我完成它,哈哈
    • 谢谢你,顺便说一句....KevinB实际上先回答了这个问题,所以我不得不接受他的回答,但是+1作为安慰! :)
    • @GDP 它说我 8 分钟前回答,他回答 9 分钟前
    • 没关系,问了问题,找到了答案。 :)
    • @Steve 哦,是的;我想我忘记怎么数了
    猜你喜欢
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 2022-11-15
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多