如何使用nods.js逐行读取JSON文件

How to read a JSON file using nods.js line by line

本文关键字:读取 JSON 文件 逐行 js 何使用 nods      更新时间:2023-09-26

给定我有一个格式为的data.json文件

{"name": "Jack", "user": "1" } {"name": "Adam", "user": "2" } {"name": "Nick", "user": "3" } {"name": "Sam" , "user": "4" }

如何使用JSON.parse读取并将数据输出到控制台?

我的代码如下:

require('fs').readFile('./data.json', 'utf8', function (err, data) {
    if (err) throw err; 
    console.log("-- Start file -- ");
    var obj = JSON.parse(data);
    console.log(data.user);
    console.log(data.name);
    console.log("-- End file -- ");
});

如果JSON没有封装在数组中,那么它就不是有效的JSON

如果您有访问权限,请使用康普顿伯格的解决方案。否则,你可以使用这个:

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});
lineReader.on('line', function (line) {
  var jsonLine = JSON.parse(line);
});

您可以控制文件data.json的结构吗?只需将对象包裹在一个数组中即可。

[
    {"name": "Jack", "user": "1"},
    ...
]
var contents = fs.readFileSync("jsoncontent.json");
// Define to JSON type
var jsonContent = JSON.parse(contents);