【问题标题】:get key and parameter values of json获取json的key和参数值
【发布时间】:2017-08-26 15:27:53
【问题描述】:

我也想在迭代的帮助下获取 JSON 对象键及其元素的各个值

我的 json 将如下所示:-

var a=
{
    "HYDROGEN": {
        "atomic_number": 1,
        "abbreviation": "H",
        "atomic_weight": 1.008
    },
    "HELIUM": {
        "atomic_number": 2,
        "abbreviation": "He",
        "atomic_weight": 4.003
    }}

【问题讨论】:

标签: json


【解决方案1】:
var a=
{
    "HYDROGEN": {
        "atomic_number": 1,
        "abbreviation": "H",
        "atomic_weight": 1.008
    },
    "HELIUM": {
        "atomic_number": 2,
        "abbreviation": "He",
        "atomic_weight": 4.003
    },
    "HELIUM": {
        "atomic_number": 2,
        "abbreviation": "He",
        "atomic_weight": 4.003
    }}

  for (i=0;i<1;i++)
  {
  console.log(Object.keys(a)[i])
  console.log(a[Object.keys(a)[i]].atomic_number)
  console.log(a[Object.keys(a)[i]].atomic_weight)
  console.log(a[Object.keys(a)[i]].abbreviation)
}

【讨论】:

    【解决方案2】:

    您可以像这样动态检索 {a} 对象的 [keys] 和 [values]:

    for (var sIndexKey in a) {
        if (a.hasOwnProperty(sIndexKey) === true) {
            var oJsonData = a[sIndexKey]; // in this case the 2 objects inside your {a} object
            var sObjectKeys = Object.keys(oJsonData); //e.g atomic_number / abbreviation / atomic_weight
            for (var iIndex = 0; iIndex < sObjectKeys.length; iIndex++) {
                var sJsonKeys = sObjectKeys[iIndex];
                var sJsonValues = oJsonData[sJsonKeys];
                console.log(sJsonKeys);
                console.log(sJsonValues);
            }
        }
    }
    

    这里有一个 jsfiddle 供进一步参考:http://jsfiddle.net/q37ehka9/

    希望这对您的情况有所帮助

    【讨论】:

      猜你喜欢
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多