node.jsサーバーに投稿データとして受け取ったJsonデータがあります。Node.jsのjson入力の予期しない終了
しかし、問題は、私が送った文字列を解析することができないことです。これは私のnode.jsサーバーコードです。
res.header("Access-Control-Allow-Origin", "*");
req.on('data',function(data)
{
var done=false;
console.log(data);
var schema;
schema=JSON.parse(data);
}
ここで、jsonデータ(データ)を解析するとエラーが発生します。
undefined:776
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at IncomingMessage.<anonymous> (/Users/as6/Documents/test/server.js:206:17)
at emitOne (events.js:115:13)
at IncomingMessage.emit (events.js:210:7)
at IncomingMessage.Readable.read (_stream_readable.js:462:10)
at flow (_stream_readable.js:833:34)
at resume_ (_stream_readable.js:815:3)
at _combinedTickCallback (internal/process/next_tick.js:102:11)
at process._tickCallback (internal/process/next_tick.js:161:9)
構文エラーに対してJSONLintを使用してJSONデータを検証しました。しかし、それは絶対に問題ありませんでした。私は何が間違っているのか、それを修正する方法を知らない。
let chunks = [];
req.on('data', function(data) {
chunks.push(data);
}).on('end', function() {
let data = Buffer.concat(chunks);
let schema = JSON.parse(data);
...
});
しかし、おそらくあなたはbody-parser
を使用して検討する必要があります。
JSON.stringifyを試してから、実際に正しい形式になっているかどうかを確認してください。 はいの場合は、これを試してください: JSON.parse(JSON.stringify(data)) –