JSON压缩器/解压缩器工具

时间:2013-06-06 11:51:04

标签: c# jquery .net json

我有一个接受JSON对象的.NET Web方法(C#)。客户端的JQuery代码创建JSON数据并使用Ajax将其发布到Web方法。

它可以工作,但数据集可能非常大。

我正在尝试找到一种在javascript中压缩JSON字符串然后将其解压缩回web方法中的原始JSON的方法。 JSON是一个很好的压缩候选者(据我所知)的原因是整个数据中不断重复的属性名称。

如何实现JSON压缩/解压缩?

1 个答案:

答案 0 :(得分:3)

我认为你应该为IIS做压缩。 在applicationhost.config中,您可以定义:

<system.webServer>
<urlCompression doDynamicCompression="true" />
<httpCompression>
  <dynamicTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />        
  </dynamicTypes>
</httpCompression>
</system.webServer>

您可以在此处阅读更多内容:http://www.west-wind.com/weblog/posts/2011/May/05/Builtin-GZipDeflate-Compression-on-IIS-7x

另一方面,您可以使用更紧凑的格式 - 例如https://code.google.com/p/protobuf-js/http://www.servicestack.net/mythz_blog/?p=176

更新:只要问题作者需要压缩请求,就无法使用默认浏览器功能(Why can't browser send gzip request?)。 无论如何,有lz4压缩算法,它非常快,并且在许多平台(包括javascript和c#)中都有实现,这可能是一个解决方案,特别是因为有人对它进行了基准测试并且它比protobuff工作得更快(我认为这是端到端测试,暂时找不到详细信息。)