Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery获取Json的节点?_Javascript_Jquery_Asp.net_Json - Fatal编程技术网

Javascript 如何使用jquery获取Json的节点?

Javascript 如何使用jquery获取Json的节点?,javascript,jquery,asp.net,json,Javascript,Jquery,Asp.net,Json,我有一个JSON,我想把它的节点放在一个节点下,但是我想知道如何得到它:下面是JSON: { "price": { "VPO": 125, "MSRP": 129.99, "ONSALE": 99.97, "a_bucks": 3.75 }, "short_info": { "product_name": "MARMOT PRECIP JACKET", "category": "WOMEN'S", "weight": {

我有一个JSON,我想把它的节点放在一个节点下,但是我想知道如何得到它:下面是JSON:

{
  "price": {
    "VPO": 125,
    "MSRP": 129.99,
    "ONSALE": 99.97,
    "a_bucks": 3.75
  },
  "short_info": {
    "product_name": "MARMOT PRECIP JACKET",
    "category": "WOMEN'S",
    "weight": {
      "lbs": 0.6,
      "kg": 0.27
    },
    "SKU": "KNXSU921",
    "part_info": "#46200",
    "rating": 4,
    "out_of_stock": false
  },
  "product_variants": {
    "XS": {
      "Arctic Navy": {
        "InStock": true,
        "Colorcode": "HMN",
        "InStore": {
          "NANAIMO": {
            "value": "true",
            "code": "154"
          }
        }
      },
      "Black": {
        "InStock": true,
        "Colorcode": "HMN",
        "InStore": {
          "NANAIMO": {
            "value": "true",
            "code": "154"
          }
        }
      },
      "Blue Sea": {
        "InStock": true,
        "Colorcode": "HMN",
        "InStore": {
          "NANAIMO": {
            "value": "true",
            "code": "154"
          }
        }
      },
    }
  }
}
我想在XS下获取元素的(节点)名称,即“北极海军”、“黑色”、“蓝色海洋”等

我使用了以下代码:

$.each(dataObj.product_variants.XS, function (i, item) {
  alert(item)
});
但是没有得到怎样才能得到所需的输出。请帮忙

提前感谢。

请尝试以下操作:

使用
Object.keys()
获取对象的键

 var keys = Object.keys(dataObj.product_variants.XS);

尝试以下操作:

使用
Object.keys()
获取对象的键

 var keys = Object.keys(dataObj.product_variants.XS);

这不需要jQuery。您可以使用普通JavaScript:

Object.keys(dataObj.product_variants.XS)
这将返回一个键数组。e、 g

[ "Arctic Navy", "Black", "Blue Sea" ]

这不需要jQuery。您可以使用普通JavaScript:

Object.keys(dataObj.product_variants.XS)
这将返回一个键数组。e、 g

[ "Arctic Navy", "Black", "Blue Sea" ]
你可以试试

$.each(dataObj.product_variants.XS, function (i, item) {
  alert(i)
});
它也可以通过javascript实现

for(var i in dataObj.product_variants.XS) {
  alert(i)
});
如果您的dataObj.product_variants.XS是数组,i将是元素的索引。

您可以尝试

$.each(dataObj.product_variants.XS, function (i, item) {
  alert(i)
});
它也可以通过javascript实现

for(var i in dataObj.product_variants.XS) {
  alert(i)
});
如果您的dataObj.product_variants.XS是数组,i将是元素的索引。

试试看

    $.each(Object.keys(obj.product_variants.XS), function (i, item) {
    alert(item)
});
试试看

    $.each(Object.keys(obj.product_variants.XS), function (i, item) {
    alert(item)
});

可能是一句微不足道的话,但您的JSON片段格式不好。你已经检查过了吗?@AlbertoDeCaro,是的,我只是处理并粘贴了必需的元素。可能是一句微不足道的评论,但你的JSON片段格式不好。你已经检查过了吗?@AlbertoDeCaro,是的,我只是处理并粘贴了所需的元素