【问题标题】:How to prepare JSON for export to CSV如何准备 JSON 以导出到 CSV
【发布时间】:2020-08-10 05:33:30
【问题描述】:

我想解析从文件 const notCleanData = JSON.parse(fs.readFileSync('db.json')); 加载的 json,以便能够使用 json2csv 导出到 CSV。我加载了文件并学习了如何导出,但我不知道如何从 JSON 的不必要部分中清除 JSON,因为它使 CSV 以错误的方式导出。我将数组中的数据放在单独的列中,而是将所有数据放在以“组”作为标题的一列下。如何将 A.json 转换为 B.json 以将干净的 JSON 导出为 CSV?

A.json

{
   "group" : [
       {
           "A" : "1",
           "B" : "2"
       },
       {
           "A" : "3",
           "B" : "4"
       }        
   ],
   "profile" : {
       "C" : "5"
   }
}

B.json

{
   "A" : "1",
   "B" : "2"
},
{
   "A" : "3",
   "B" : "4"
}       

简而言之:如何仅从“组”中提取数据并将其添加到变量中?

【问题讨论】:

  • 不必要的垃圾!我看到包含元素的对象,它是有组织的,如果你想删除一个对象,请使用 delete json[object];但是没有像 cleanJsonGarbage();这样的方法
  • 抱歉措辞......我会更正这个问题。

标签: javascript node.js json parsing json2csv


【解决方案1】:

您可以为此使用 jpath:

let A = {
   "group" : [
       {
           "A" : "1",
           "B" : "2"
       },
       {
           "A" : "3",
           "B" : "4"
       }        
   ],
   "profile" : {
       "C" : "5"
   }
}
let jp = require('jsonpath');
let B = jp.query(A, '$.group');
console.log(B)

输出:

[ [ { A: '1', B: '2' }, { A: '3', B: '4' } ] ]

【讨论】:

  • 很棒的提示!!!但 CSV 的格式仍然错误。我认为方括号搞砸了。我将尝试var obj = JSON.parse(jsonAstring);,然后使用var group = obj.group; 提取,然后尝试导出为 CSV。如果它有效,我会发布。
  • @AppleFan 是的,至于 csv 转换,外面的方括号是问题所在。只需先删除它们 - 就个人而言,我会去 json-to string-remove-back 到 json-to csv。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
  • 2021-06-29
相关资源
最近更新 更多