Как подготовить JSON к экспорту в CSV - PullRequest
1 голос
/ 26 апреля 2020

Я хочу проанализировать json, загруженный из файла const notCleanData = JSON.parse(fs.readFileSync('db.json'));, чтобы иметь возможность экспортировать в CSV с помощью json2csv. Я загрузил файл и узнал, как экспортировать, но я не могу понять, как очистить 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"
}       

Короче говоря: Как извлечь данные только из "группы" и добавить их в переменную?

1 Ответ

1 голос
/ 26 апреля 2020

Для этого вы можете использовать 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' } ] ]
...