从Nest json重新排列键和值

时间:2019-03-26 01:30:26

标签: node.js

我有这个json

$ cat a.json
{
  "students": [
    {
      "name": "jack",
      "id": "0012"
    },
    {
      "name": "tom",
      "id": "0023"
    }
  ]
}

我想生成两个变量,例如

names = ["jack", "tom"];
ids=["0012", "0023"];

它们是namesids之间的一对一映射

我读了this,但是它仅适用于地图,但是我的json是嵌套的JSON。我怎么得到结果?

// this doesn't work with my sample.
let keys = Array.from( myMap.keys() )

1 个答案:

答案 0 :(得分:1)

我假设您具有相同的嵌套级别。然后此解决方案将起作用。如果您使用不同的嵌套级别来查找名称和ID,请告诉我,我将更新代码。

let name=[];
let ids=[];
let data = {
  "students": [
    {
      "name": "jack",
      "id": "0012"
    }, {
      "name": "tom",
      "id": "0023"
    }
  ]
};

data.students.map((val, key, ref) => {
 name.push(val.name);
 ids.push(val.id);
});

document.write(`Name: [${name}]  ids: [${ids}]`);