我使用 nodejs 解析一些 JSON 文件并将它们插入 mongodb,这些文件中的 JSON 具有无效的 JSON 字符,如 \n、\" 等。我不明白的是,如果我试图解析如下:
console.log(JSON.parse('{"foo":"bar\n"}'))
我明白了
undefined:1
{"foo":"bar
但是如果我尝试解析文件中的输入(文件具有相同的字符串 {"foo":"bar\n"}),例如:
new lazy(fs.createReadStream("info.json"))
.lines
.forEach(function(line){
var line = line.toString();
console.log(JSON.parse(line));
}
);
一切正常,我想知道这是否正常并且可以解析我拥有的文件,或者我应该在解析文件之前替换所有无效的 JSON 字符,以及为什么两者之间存在差异。
谢谢