javascript - 使用 Node JS 将 txt 文件转换为 json

标签 javascript node.js json parsing

我有一个简单的 txt 文件,其中包含数百万行的这种格式的数据:

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

我想使用 NodeJs 中的 reduce 函数和 return 语句将其转换为带有“点”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);

关于javascript - 使用 Node JS 将 txt 文件转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59441333/

相关文章:

javascript - 如何在事件发生后执行测试

json - MarkLogic 8 - 即使我们指定了 JSON,Rest 端点也返回 XML

javascript - 如何检查用户是否可以使用 Javascript 访问 YouTube

javascript - 从 iframe 间接调用的 Fancybox 2.1.3 返回 'The requested content cannot be loaded. Please try again later.'

node.js - Electron Node -Gyp 库未加载 : dylib

java - 如何使用 Java 中的几行代码将给定的 Before 链接转换为 After 链接?

javascript - HTML/Javascript 中的字体选择器

javascript - array.map 无法导出对象?

php - 如何使用当前登录的用户预填 voyager BREAD 表格?

python - 如何重置python "recursive"函数中的全局变量?