GZip Paginated JSON响应

时间:2017-04-20 18:39:26

标签: node.js compression zlib

我有一个分页请求,它为我提供了一个对象列表,我稍后将其连接以获取完整的对象列表。

如果我尝试JSON.stringify这个,它对于范围错误的大对象会失败。我正在寻找一种方法zlib.gzip来处理大型JSON对象。

1 个答案:

答案 0 :(得分:1)

尝试安装stream-json它将解决您的问题,它是一个很好的包装流和解析JSON。

//require the modules stream-json
const StreamArray = require('stream-json/utils/StreamArray');
// require fs if your using a file
const fs = require('fs');
const zlib = require('zlib');
// Create an instance of StreamArray
const streamArray = StreamArray.make();
fs.createReadStream('./YOUR_FILE.json.gz')
.pipe(zlib.createUnzip()) // Unzip
.pipe(streamArray.input); //Read the stream
//here you can do whatever you want with the stream, 
//you can stream it to response. 
streamArray.output.pipe(process.stdout); 

在示例中,我使用的是JSON(文件),但您可以使用集合并将其传递给流。

希望有帮助。