2013-07-25 53 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()檢索文件。 –