【问题标题】:How to get nodes of Json using jquery?如何使用 jquery 获取 Json 的节点?
【发布时间】:2016-05-12 10:39:31
【问题描述】:

我有一个 JSON,我想在一个 Node 下获取它的节点,但是我知道如何获取它:这是 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 下获取 Elements 的(节点)名称,即“Arctic Navy”、“Black”、“Blue Sea”等。

我使用了以下代码:

$.each(dataObj.product_variants.XS, function (i, item) {
  alert(item)
});

但没有得到我如何获得所需的输出。请帮忙。

提前致谢。

【问题讨论】:

  • 也许是一个微不足道的评论,但您的 JSON sn-p 格式不正确。你已经检查过了吗?
  • @AlbertoDeCaro,是的,我只是处理并粘贴了所需的元素

标签: javascript jquery asp.net json


【解决方案1】:

你不需要 jQuery。你可以使用普通的 JavaScript:

Object.keys(dataObj.product_variants.XS)

这将返回一个键数组。例如

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

【讨论】:

    【解决方案2】:

    你可以试试

    $.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 将是元素的索引。

    【讨论】:

      【解决方案3】:

      尝试以下方法:

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

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

      https://jsfiddle.net/zeoj9xd8/

      【讨论】:

        【解决方案4】:

        试试

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

        https://jsfiddle.net/qejss4yj/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多