Задать вопрос
@vladymyr_olegovich

Как получить json данные из архива в Node.js?

Есть файл "lib.txt". Он находится в архиве "lib.txt.gz".
В этом файле находится обычный json объект, на подобие этого:
var a = [
{a:1},
{b:2}
]


Как мне в самом серверном файле получить массив "a" c помощью модуля "zlib"?
С nodejs знаком очень не очень :)
  • Вопрос задан
  • 413 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
const zlib = require('zlib');
const fs = require('fs');

/**
 * Read the gz compresed file
 * @param filename (string) full path to file
 * @return (Promise<Buffer>)
 */
function readGZipFile(filename) {
    return new Promise((resolve, reject) => {
        fs.readFile(filename, (err, buf) => {
            if(err) {
                reject(err);
                return;
            }
            zlib.gunzip(buf, (err, buf) => {
                if(err) {
                    reject(err);
                    return;
                }
                resolve(buf);
            });
        });
    });
}

//Использование
const path = require('path');
readGZipFile(path.resolve(__dirname, 'lib.txt.gz')).then(buf => JSON.parse(buf.toString())).then(data => {
    //Ваш код для работы с data
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы