2013-07-25 17 views
0

我使用一些相当大的JSON文件(实际上只有几百个“记录”)。是压缩所说的文件(使用YUI压缩机)值得麻烦/时间?在JSON文件上使用YUI压缩器是否值得麻烦?

我通过$ .getJSON()

+1

在过去,我已经跑与YUI压缩机窒息JSON文件的问题,因为他们没有有效的JS,所以我会说,不,它是不值得的,可能无论如何都不会工作。 – marteljn

+0

嗯......如果它只是JSON,那么只要搜索并删除所有空格,实际上就可以获得99%的YUI好处。但是,是的,我没有看到太多的好处,特别是当他们像Michael所说的那样进行gzip转移时。编辑:第二个想法,这样一个工具将以某种方式需要确保它只能删除字符串外的空白,这可能比你想象的更困难。 – Katana314

回答

2

获得的文件在大多数情况下,它似乎并不认为它会多大意义,做到这一点。 YUI压缩机如何在不破坏使用JSON数据的代码的情况下为JSON文件提供任何好处?

在我们的意见的讨论中,你提到从JSON文件中删除空白。如果你有一个带有缩进和空白的手工编辑的JSON文件,那么压缩器可以删除它。但是大多数JSON是机器生成的,可以调用函数to_json()json.dumps()或任何服务器语言使用的函数。通常情况下,除非你指定了一个说明你想打印输出的选项,否则JSON将不会产生额外的空白。

不要忘记,你的浏览器和服务器几乎肯定提供gzip压缩(但仔细检查,以确保运作正常)。要找出通过网络传输的数据的实际大小,请参阅您的JSON文件,并查看它的格式。无论是使用Linux或OS X的gzip命令,或在Windows中可以使用7-Zip,创建从一个JSON文件.gz

我想你可能是由gzip压缩的版本是多么小的一个典型的JSON文件惊喜。 JSON文件中的很多批量往往是重复的属性名称,而这些压缩都是正确的。

+0

对于你的第一段,我在想:当删除空白时,缩小的* .css和* .js文件会得到相同的好处。其余的:你的意思是这可能已经发生在幕后,或者我的浏览器和服务器容忍我的gzip json文件? –

+0

您的JSON文件是手工编码的,还是由您的服务器语言中的to_json或类似命令生成的?如果它是由JSON库生成的,那么除非您在调用JSON库时用一个选项请求它,否则它不应该有任何额外的空白。关于'gzip'的一点是你的服务器和浏览器应该自动执行此操作。所有的HTML,CSS,JS,JSON和所有其他数据都应该被你的服务器解压。我手动运行'gzip'的建议只是简单的让你看到通过线路传输的数据的实际大小。 –

+0

好的,这很好(他们可能手动做)。我得到我的JSON的方式是json有点奇怪,可能是:0)我编译一个文本文件,逐位1)我通过一个C#实用程序发送它,我写它将文件转换为其中的数据的csv表示2)我通过在线csv转换成json到json转换器3)我使用在线jsonlint实用程序捷克生成的json 4)将生成的按摩文本保存到记事本文件中,并将扩展名重命名为.json 5)我添加json文件到我的asp.net项目。 6)我使用$ .getJSON()检索文件。 –