node.js - GZip 分页 JSON 响应

标签 node.js compression zlib

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

如果我尝试对其进行 JSON.stringify,则对于具有范围错误的大型对象,它会失败。我正在寻找一种使用 zlib.gzip 处理大型 JSON 对象的方法。

最佳答案

尝试安装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(文件),但您可以使用集合并将其传递到流。

希望有帮助。

关于node.js - GZip 分页 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527412/

相关文章:

node.js - 如何访问 Node 模块文档 - eslint

node.js - 通过 npm 命令行测试

math - 我能以多简洁的方式表示 1024 到 1024 的排列?

c# - GZip header 中的魔数(Magic Number)不正确。确保您传入的是 GZip 流。(.exe 文件)

c++ - 使用 zlib 从 pdf 中提取文本

c++ - 有没有关于如何将包含文件夹和文件的 zip 文件解压缩到某个目录并通过 MiniZip 将它们打包回来的教程?

node.js - 获取 HTML 完整内容图像的最佳方法

node.js - async.js 并行无法正常工作

php - 对 CSS、Javascript 等文件进行 gzip 一次并将其保存以供客户端使用的方法,而不是每次发出请求时都进行处理和 gzip 压缩

iphone - xcode 4.x 中的 zlib 框架在哪里