首页 > 解决方案 > 处理 JSON 上更改键名的最佳方法是什么?

问题描述

我想知道是否有一种方法可以转换此 JSON,而不是使用"2020-07-06"作为键,而是使用字段date: "2020-07-06"。它是一个大型数据集,因此我无法手动更改所有内容。

{
  "2020-07-06": {
    "food": {
    },
  },
  "2020-07-07": {
    "food": {
      },
    },
  "2020-07-08": {
    "food": {
      },
    },
  }

Expected output:

{
  "date": "2020-07-06",
  "food": {
   },
  "date": "2020-07-07",
  "food": {
   },
  "date: "2020-07-08",
  "food": {
   },
}
    

标签: javascriptjson

解决方案


键必须是唯一的,因此解决此问题的唯一干净方法是使用数组。这里有一个解决方案的例子:

const input = {
  "2020-07-06": {
    "food": {
    },
  },
  "2020-07-07": {
    "food": {
      },
    },
  "2020-07-08": {
    "food": {
      },
    },
  }
  
  const res = Object.keys(input).map((key) => {
    return {
      food: input[key].food,
      date: key
     }
  });
  
  console.log(res)


推荐阅读