![](/img/trans.png)
[英]How to format JSON: Array of objects, or document containing elements with objects?
[英]How to format the file containing json objects to json array
我有一個 json 文件,在一個文件中包含多個對象 我想將它們轉換為 JSON 數組 如何執行此操作 javascript。我的總體目標是從中生成一個 CSV 文件。
這是示例文件內容,
{
Name:"nom1",
Cities:['city1','city2']
}
{
Name:"nom2",
Cities:['city4','city5']
}
注意上面是數據轉儲,它的格式還不正確,我想將其轉換為以下格式
var data = [ { Name:"nom1", Cities:['city1','city2'] }, { Name:"nom2", Cities:['city3','city4'] } ]};
然后將它傳遞給下面的腳本。
我在一個文件中有成千上萬個這樣的對象。 我想生成CSV數據如下
|名稱|城市|
|名稱1|城市1 |
|名稱1|城市2 |
|名稱2|城市3 |
|名稱2|城市4 |
我正在使用節點 javascript 來實現這一點,
const { Parser, transforms: { unwind } } = require('json2csv');
const data = {
Name:"nom1",
Cities:['city1','city2']
}
const fields = ['Name'];
const transforms = [unwind({ paths: ['features'] })];
const json2csvParser = new Parser({ fields, transforms });
const csv = json2csvParser.parse(myCars);
console.log(csv);
這將與您提供的文件完全相同:
log-parser.js
const fs = require('fs')
async function fileToArray (file) {
const fileContent = await fs.promises.readFile(file)
const singleLined = fileContent
.toString()
.replace(/\n/g, '')
.replace(/\}\{/g, '},{')
.replace(/(\w+):/g, '"$1":')
.replace(/'/g, '"')
console.log(singleLined)
const array = JSON.parse(`[${singleLined}]`)
console.log(array)
}
fileToArray(process.argv[2])
node log-parser.js my-log-file.log
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.