首页 > 解决方案 > 如何准备 JSON 以导出到 CSV

问题描述

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

一个.json

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

B.json

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

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

标签: javascriptnode.jsjsonparsingjson2csv

解决方案


您可以为此使用 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' } ] ]

推荐阅读