我有一些json格式的数据,我用JSON.parse解析。我遇到的问题是变量名称的长度:
MyObjectName.SuperLongPropertyName;
MyObjectName.AnotherLongPropertyName;
等等。我正在使用JavascriptSerializer和自定义JavascriptConverter来生成json。它用于几个ajax调用,数据大约是70K。
但是,如果我可以将变量更改为
a.a;
a.b;
可以削掉一半大小的json字符串。
我可以轻松更改服务器上的序列化/反序列化类。但是,在客户端,它会更棘手,因为我在我的代码中到处使用这些对象。然后,即使我设法更改变量名称,在javascript调试器中进行调试也会变得相当困难。
有什么好的建议:a)在客户端上转换我现有的变量名,以及b)保持可读性和可调试性?
感谢。
答案 0 :(得分:7)
使用transparent HTTP gzip compression。然后,您的服务器即时压缩发送的数据,Web浏览器再次对其进行解码。
gzip完全符合您的建议,只有更好。 gzip选择所有名称的别名,而不是为一些长重复名称选择静态别名,而是将最短的名称分配给最常出现的别名。此外,gzip不关心语法,因此可以将, "SuperLongName": {
(包括标点符号和空格)分配给单个符号。