0

我有一个json这种格式的数据,我想将数据加载到一个对象数组中,而不用硬编码对象键。我想获取每个类别中的项目和标签,并且每个类别都有它的名称作为对象键。目前我通过
...myData.labels.name;...items.name;无效的数据获取数据,因为名称会根据类别而变化。

  [
  [
    {
      "key": "mykey",
      "category": "myCategoryKey",
      "category_label": "myCategoryLabel",
      "field": "filter",
      "items": {
        "name": [
          "item1",
          "item2"
        ]
      },
      "labels": {
        "name": [
          "Item1",
          "Item2"
        ]
      }
    },
    {
      "key": "mykey2",
      "category": "myCategoryKey2",
      "category_label": "myCategoryLabel2",
      "field": "filter",
      "items": {
        "name2": [
          "item1",
          "item2"
        ]
      },
      "labels": {
        "name3": [
          "Item1",
          "Item2"
        ]
      }
    }
  ]
]
4

1 回答 1

0

如果值动态变化,则用于Object.keys()获取存在的项目的键。

然后使用键获取对应的值。

var data = {
            "key": "mykey2",
            "category": "myCategoryKey2",
            "category_label": "myCategoryLabel2",
            "field": "filter",
            "items": {
                "name2": [
                    "item1",
                    "item2"
                ]
            },
            "labels": {
                "name3": [
                    "Item1",
                    "Item2"
                ]
 } }
 
 var labelsPresent = Object.keys(data.labels);
 
 console.log(labelsPresent);
 
 var labelValues= labelsPresent[0];
 console.log(data.labels[labelValues]);

于 2018-07-19T09:14:46.057 回答