Nodejsを使用していくつかのJSONファイルを解析し、それらをmongodbに挿入すると、これらのファイルのJSONには\n、\"などの無効なJSON文字が含まれています..私が理解できないのは、次のように解析しようとした場合です:
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 文字を置き換える必要があるかどうかを知りたいのですが、なぜこの 2 つに違いがあるのでしょうか。
ありがとう