繁体   English   中英

懒惰的 JSON.stringify

[英]Lazy JSON.stringify

问题 -

用户使用库,将日志发送到后端。 该库有一个循环缓冲区,因此不会超过几百个元素。

但是,我们无法控制发送的元素的大小,因此有效载荷可能大于 10mb。

我想通过对有效负载的整体大小进行限制来减少这种情况。

但是,我认为没有办法获得对象的size

我在想的是一种懒惰的 JSON.stringify

var res = "[";
messages.forEach(m => {
  if (res.length < MAX_SIZE) {
    res += JSON.stringify(m);
    res += ",";
  })
});
res += "]"

有没有更好的办法?

对于后代,在 JSON.stringify 调用之前进行这种过滤会更简单。

即:检查messages ,用"..too large.."替换太大的项目,然后字符串化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM