javascript - 使用 Node JS 将 txt 文件转换为 json
问题描述
我有一个简单的 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)
我不断得到一个“未定义”的值
解决方案
我在您的代码中发现了一些问题。
- 您没有从 mapEvents 函数返回任何内容,这使得您的变量 x 值未定义。
- 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);
推荐阅读
- r - R中的正则表达式负后视案例
- printing - MFC:如何打印 CRichEditView 的内容?
- image - 如何在 ioslides 演示文稿中永久嵌入图像?
- mysql - 创建由子查询组成的表的视图时出错?
- angular - 如何访问 HttpErrorResponse 的特定属性?
- mui-datatable - 如何展开 MUI-Datatables 中的单元格以显示其他内容?
- ruby-on-rails - Ruby 服务器端 Websocket 客户端
- woocommerce - WooCommerce 产品提要 Google 商家中心
- html - 我如何在我的导航栏上添加一个半透明的背景,同时在我的整个页面上有一个蓝色背景
- sql - F# 中的插值字符串