通过使用节点 js / javascript 删除嵌套键来存储数据

storing data by removing nested key by using node js / javascript

let json=[
 {
  metadata: { tags: [] },
  sys: {
    space: { sys: [Object] },
    id: '4gSSbjCFEorYXqrgDIP2FA',
    type: 'Entry',
  },
  fields: {
    richTextEditor: { 'fn-US': [Object] },
    short: { 'as-ds': 'hello default value' },
    shortUrl: { 'en-US': 'www.google.com' },
    shortSlugOption: { 'zh-cht': 'hello-default-value' },
    mediaFileAssetLink: { 'ur-pk': [Array] },
    mediaFileAssetGalary: { 'en-US': [Array] },
    singleMediaImage: { 'cy-az-az': [Object] },
    booleanField: { 'en-US': true },
    locationField: { 'zh-mo': [Object] },
    dateNTime: { 'sv': '2022-02-01T00:00+05:30' }
  }
}
];


        json.map((data) => {
          console.log(data.fields);
         /* fs.writeFile(
            "./data.json",
            JSON.stringify(data.fields, null, 4),
            (err) => {
              if (err) throw console.log(err.messages);
            }
          ); */
        });

我得到了这个对象,我编写了映射函数来获取我从输出中获得的所有字段。

我正在尝试存储在 JSON 文件中,但我不想以这种格式存储数据

预期格式

    richTextEditor:  [Object] ,
    short: 'hello default value' ,
    shortUrl: 'www.google.com' ,
    shortSlugOption: 'hello-default-value' ,
    mediaFileAssetLink:  [Array] ,
    mediaFileAssetGalary: [Array] ,
    singleMediaImage: [Object] ,
    booleanField: true ,
    locationField: [Object] ,
    dateNTime: '2022-02-01T00:00+05:30' 

如何删除所有嵌套的 'fn-us','as-ds' n 并以预期格式存储值

您可以例如使用 Object.entries 和 Object.fromEntries() 结合 .map() 到 return 新结构:

let json=[ { metadata: { tags: [] }, sys: { space: { sys: [Object] }, id: '4gSSbjCFEorYXqrgDIP2FA', type: 'Entry', }, fields: { richTextEditor: { 'fn-US': [Object] }, short: { 'as-ds': 'hello default value' }, shortUrl: { 'en-US': 'www.google.com' }, shortSlugOption: { 'zh-cht': 'hello-default-value' }, mediaFileAssetLink: { 'ur-pk': [Array] }, mediaFileAssetGalary: { 'en-US': [Array] }, singleMediaImage: { 'cy-az-az': [Object] }, booleanField: { 'en-US': true }, locationField: { 'zh-mo': [Object] }, dateNTime: { 'sv': '2022-02-01T00:00+05:30' } } } ];
  
const res = json.map((data) => {
    const fields = Object.fromEntries(Object.entries(data.fields).map(el=>(el[1]=Object.values(el[1])[0], el)))
    return {...data, fields }
            /* fs.writeFile(
               "./data.json",
               JSON.stringify(data.fields, null, 4),
               (err) => {
                 if (err) throw console.log(err.messages);
               }
             ); */
           });

console.log(res);