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

时间:2015-12-18 01:31:46

标签: javascript node.js readfile

鉴于我有一个格式为

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 -- ");
});

3 个答案:

答案 0 :(得分:0)

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

[
    {"name": "Jack", "user": "1"},
    ...
]

答案 1 :(得分:0)

如果它没有包含在数组

中,则这是无效的JSON

如果您有权访问,请使用Comptonburger的解决方案。否则,你可以使用:

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});

lineReader.on('line', function (line) {
  var jsonLine = JSON.parse(line);
});

答案 2 :(得分:-2)

var contents = fs.readFileSync("jsoncontent.json");
// Define to JSON type
var jsonContent = JSON.parse(contents);