0

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 つに違いがあるのでしょうか。

ありがとう

4

1 に答える 1