Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JSON,在客户端和服务器端压缩它_C#_Javascript_Json - Fatal编程技术网

C# JSON,在客户端和服务器端压缩它

C# JSON,在客户端和服务器端压缩它,c#,javascript,json,C#,Javascript,Json,任何人都知道有任何实用程序将压缩JSON服务器端(C#),并在客户端将其重新构造为JSON,反之亦然。我的整个页面视图模型都是json格式的,需要找到一种减小其大小的方法。我找到了cJSON和RISON,但我没有看到C#实现 有什么想法吗 澄清:在服务器端,我需要获取一个JSON字符串并注册客户端变量,该变量经过编码/压缩以减小大小。在客户端,我需要一个可以从JavaScript调用的实用程序来解码/解压缩它。也需要以相反的顺序 参考链接: 克杰森 里森 为什么不使用HTTP压缩并允许浏览器/

任何人都知道有任何实用程序将压缩JSON服务器端(C#),并在客户端将其重新构造为JSON,反之亦然。我的整个页面视图模型都是json格式的,需要找到一种减小其大小的方法。我找到了cJSON和RISON,但我没有看到C#实现

有什么想法吗

澄清:在服务器端,我需要获取一个JSON字符串并注册客户端变量,该变量经过编码/压缩以减小大小。在客户端,我需要一个可以从JavaScript调用的实用程序来解码/解压缩它。也需要以相反的顺序

参考链接:

克杰森

里森

为什么不使用HTTP压缩并允许浏览器/web服务器处理请求的压缩?

为什么不使用HTTP压缩并允许浏览器/web服务器处理请求的压缩?

我支持Llyod的回答,并补充说您没有考虑客户端解压缩开销


Deflate和gzip在很大程度上是值得的,因为浏览器在本机代码中处理解压缩。如果实现自定义JSON压缩方案,则必须使用JavaScript对其进行解压缩,这将大大降低速度。除非你是在一个支持网络工作者(即没有IE版本)的浏览器中这样做,否则这是不可行的。无论如何,基于JavaScript的解压缩几乎肯定会增加比压缩节省更多的延迟。

我支持Llyod的回答,并补充说您没有考虑客户端解压缩开销


Deflate和gzip在很大程度上是值得的,因为浏览器在本机代码中处理解压缩。如果实现自定义JSON压缩方案,则必须使用JavaScript对其进行解压缩,这将大大降低速度。除非你是在一个支持网络工作者(即没有IE版本)的浏览器中这样做,否则这是不可行的。无论哪种方式,基于JavaScript的解压缩几乎肯定会增加比压缩节省更多的延迟。

。gzip编码内置于所有浏览器以及.NET中。使用它。还建议删除多余的空白(换行符、制表符等,只是为了使其可读)。在客户端解压时不需要做任何额外的工作,但即使是gzip,也会对响应的大小产生巨大的影响。@Mike:压缩是否在服务器级别完成?我无法控制它。第二,即使我有,当查看视图源代码时,它也与外观有关。我需要压缩它,然后编码。第二…什么?!你是说给人一种被压缩的感觉和实际压缩一样重要吗?为什么?@David:如果你看看RISON,甚至在gzip压缩它之前,它已经剃掉了30-60%。如果我先通过cJson,我可能会得到另外10-20%的回报。所以这不仅仅是外表。是的,我们也不应该看到源代码,也不应该看到里面有什么,虽然没有什么能阻止人们仅仅解码它,但这很好。gzip编码内置于所有浏览器以及.NET中。使用它。还建议删除多余的空白(换行符、制表符等,只是为了使其可读)。在客户端解压时不需要做任何额外的工作,但即使是gzip,也会对响应的大小产生巨大的影响。@Mike:压缩是否在服务器级别完成?我无法控制它。第二,即使我有,当查看视图源代码时,它也与外观有关。我需要压缩它,然后编码。第二…什么?!你是说给人一种被压缩的感觉和实际压缩一样重要吗?为什么?@David:如果你看看RISON,甚至在gzip压缩它之前,它已经剃掉了30-60%。如果我先通过cJson,我可能会得到另外10-20%的回报。所以这不仅仅是外表。是的,人们也不应该能够查看源代码并查看其中的内容,尽管没有任何东西会阻止某人对其进行解码,但这很好。您这样做是为了提高性能(因为正如其他人所说的那样,浏览器和服务器可以设置(而且大多数都是现成的)来压缩网络流量)?或者为了安全(这样人们就不能查看您的数据/api)?两个不同的问题。你这样做是为了提高性能(因为正如其他人所说的那样,浏览器和服务器可以设置(而且大多数都是现成的)来压缩网络流量)?或者为了安全(这样人们就不能查看您的数据/api)?两个不同的问题。