簡體   English   中英

使用 Node JS 將 txt 文件轉換為 json

[英]txt file to json using Node JS

我有一個簡單的 txt 文件,其中包含數百萬行的這種格式的數據:

{"a":9876312,"b":1572568981512}
{"a":9876312,"b":1572568981542}

我想使用NodeJs中的reduce函數和return語句將其轉換為帶有“dot”json擴展名的文件,可能如下所示:

[{"a":9876312,"b":1572568981512},
{"a":9876312,"b":1572568981542}]

任何幫助將非常感激。 謝謝 :)

到目前為止,我試過這個:

const fs = require('fs');
const FILE_NAME = 'abc.txt';
const x = mapEvents(getJSONFileData(FILE_NAME));

function getJSONFileData(filename) {
   return fs.readFileSync(filename, 'utf-8')
   .split('\n')
   .map(JSON.parse)
}

function mapEvents(events) {
events.reduce((acc, data) => {
  return [{data.a, data.b}]
});
}

console.log(x)

我不斷得到一個“未定義”的值

我在您的代碼中發現了一些問題。

  1. 您尚未從 mapEvents 函數返回任何內容,這使您的變量 x 值未定義。
  2. getJSONFileData 需要一些修復。

您可以使用以下代碼:-

const fs = require('fs');
const FILE_NAME = 'abc.txt';
const x = mapEvents(getJSONFileData(FILE_NAME));

function getJSONFileData(filename) {
  return fs
    .readFileSync(filename, 'utf-8')
    .split('\n')
    .filter(Boolean)
    .map(JSON.parse);
}

function mapEvents(events) {
  return JSON.stringify(events);
}

console.log(x);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM