Как преобразовать ответ http.get из CSV в JSON NodeJS

Запрос http.get возвращает файл csv.gz. После распаковки я хотел бы преобразовать его в JSON и загрузить в mongoDB. Как реализовать функцию преобразования в потоке?

Мой код следующий:

  const download = (url, dest) => {
  const request = https.get(url, function(response) {
    const decompress = zlib.createGunzip();
    const file = fs.createWriteStream('./downloads/'+ dest);
    response.pipe(decompress).on('data', (chunk) => {
      console.log(chunk)
    })
    .pipe(file);
  });
  }

CSV в JSON будет преобразован с использованием этого:

  const csvToJson = (csv) => {
    const [firstLine, ...lines] = csv.split('\n');
    return lines.map((line) => firstLine.split(',').reduce(
      (curr, next, index) => ({
        ...curr,
        [next]: line.split(',')[index],
      }),
      {},
    ));
  };

Телефонный код выглядит следующим образом:

  linksToDownload.map((item) => {
    if (item.value !== undefined) {
    const URL = item.value;
    const DEST = item.name + ".json"
    download(URL, DEST);
    }
  })

Кроме того, почему nodemon перезапускается несколько раз? печатаетэкран консоли

Заранее спасибо за помощь

0 ответов

Другие вопросы по тегам