我正在从移动应用程序(最多1000个JSON对象)提交相对大量的数据,通常我会像这样编码:
[{
id: 12,
score: 34,
interval: 5678,
sub: 9012
}, {
id: ...
}, ...]
我可以通过提交数组数组来减小有效负载:
[[12, 34, 5678, 9012], [...], ...]
以便在属性名称上节省一些空间,并在服务器上重新创建对象(由于架构是固定的,或者至少是服务器与客户端之间的契约)。
然后以
POST
请求的形式提交有效负载,最有可能通过3G连接(或可能是wifi)提交。看起来我通过使用嵌套数组节省了一些带宽,但是我不确定应用gzip时它是否值得注意,并且我不确定如何精确,客观地测量差异。
另一方面,嵌套数组并不是一个好主意:它们的可读性较低,因此在调试时更难发现错误。另外,由于我们正在冲洗厕所,因此我们可以将数组弄平,因为每个子数组都有固定数量的元素,服务器可以将其切成薄片并再次重建对象。
非常感谢您阅读有关该主题的任何进一步阅读 Material 。
最佳答案
JSONH,又名hpack,https://github.com/WebReflection/JSONH与您的示例非常相似:
[{
id: 12,
score: 34,
interval: 5678,
sub: 9012
}, {
id: 98,
score: 76,
interval: 5432,
sub: 1098
}, ...]
会变成:
[["id","score","interval","sub"],12,34,5678,9012,98,76,5432,1098,...]
关于json - 尝试减少JSON大小值得付出努力吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11160941/