プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2021/11/12

Node.js で `Unexpected end of json input` のエラーがでた

event_note2021/11/12 8:54

Node.js でJSON データを受信してパースしようとしたら Unexpected end of json input のエラーが表示されました。

最初以下のように書いていたのですが、

response.on('data', (data) => {
    let json = JSON.parse(data);
    ...
});

データが大きい場合は分割されて送信されてくるようなので、以下のように処理すれば上手くいきました。

let chunks = [];

response.on('data', (data) => {
  chunks.push(data);
});

response.on('end', () => {
  let data   = Buffer.concat(chunks);
  let json = JSON.parse(data);
  ...
});