首页 > 解决方案 > 将对象的对象重组为json数据

问题描述

我有以下这样的 JSON 数据,我尝试使用 object.entries 对其进行迭代

 {
  "1245": {
    "case_id": "1245",
    "nodes": 11,
    "others": {
      "hops": "1"
    },
    "status": "COMPLETE"
  }
}

我希望它使用 javscript 以以下 JSON 格式重建:预期输出如下:

{
  data :[
   case_id:'123",
   nodes:11,
   status: "COMPLETE",
   hops:1,
  ]
}

标签: javascriptarraysjsonobject

解决方案


您的数据被构造为键/值对这一事实意味着您需要使用它Object.keys来迭代数据,然后才能将其映射到数组中。然后,您将需要构造您的对象,以便它具有“数据”作为映射数组的属性。

const yourData = { "1245": {
    "case_id": "1245",
    "nodes": 11,
    "others": {
      "hops": "1"
    },
    "status": "COMPLETE"
  }
}

const theArrayYouWant = Object.keys(yourData).map((entry) => {
  return {
     case_id: yourData[entry].case_id,
     nodes: yourData[entry].nodes,
     status: yourData[entry].status,
     hops: yourData[entry].others.hops,
  };
});

const yourDataType = { data: theArrayYouWant };

推荐阅读