如何压缩非常大的JSON字符串以通过websockets进行传输? (后来也存储在localStorage中)
它已经缩小了,但是我需要一些可以做到这一点的事情:http://www.unit-conversion.info/texttools/compress/(我曾尝试在那里寻找源头并且无法解决这个问题)
答案 0 :(得分:2)
您可以使用zlib模块使用Node.js压缩任何类型的二进制数据(字符串,缓冲区),无需外部代码。
您可以根据需要使用gzip或deflate压缩算法。
(从Node.js'网站无耻地窃取)
const zlib = require('zlib')
const input = JSON.stringify({ some: 'json-data' })
zlib.deflate(input, (err, buffer) => {
if (err) {
console.log('u-oh')
}
// Send buffer as string to client using my imaginary io object
io.send(buffer.toString('base64'))
})
更新:最好只在传输层启用HTTP compression,而不是自行压缩和解压缩数据。