压缩标记属性中的JSON数据

时间:2013-11-16 18:49:52

标签: html xml json compression

我使用标记属性data来处理html标记内的一些JSON数据:

<div data="%22%3A%22%D0%B1%D1...">The text..</data> 

我的问题是在编码后增加JSON字符串的大小:

var json = {
    a:"letter a", 
    b:"буква &laquo;бэ&raquo;"
},
attr = encodeURIComponent(JSON.stringify(json));

执行结果时,代码生成带有long属性的标记:

<div data ="%7B%22a%22%3A%22letter%20a%22%2C%22b%22%3A%22%D0%B1%D1%83%D0%BA%D0%B2%D0%B0%20%26laquo%3B%D0%B1%D1%8D%26raquo%3B%22%7D"></div> 

这个简短例子的扩展比率为2.8

可能有压缩数据的方法,最终比率低于2.0?

1 个答案:

答案 0 :(得分:0)

The Lempel-Ziv-Welch (LZW) algorithm for JavaScript

DEMO

压缩对于大数据块非常有用,而对于带有几行的短JSON则无用。因此,使用压缩的最佳平衡是为每种情况选择“压缩或不压缩”。

大数据(长JSON)的示例:

<div compression="lzw" data="7e9145d1890181fdb617...">...</div>

简短JSON示例:

<div compression="none" data="88%D0%B0%20%D0%BA%D...">...</div>