2012-05-22 32 views
13

我想聽聽您對如何在Ubuntu上處理大型(40MB)JSON文件的建議。我想看到它漂亮地打印在vimgedit或任何其他編輯器。人們可以找到關於如何prettify the JSON的數字教程,但是,他們不必處理大量輸入。我也想象我可以通過pygments或任何其他語法突出顯示器來傳輸數據。我很想聽聽你的想法。如何查看在Ubuntu上打印的大型JSON文件?

相關下載:

wget -O large-dataset.json http://data.wien.gv.at/daten/wfs?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:BAUMOGD&srsName=EPSG:4326&outputFormat=json 

請介意的下載大小!


編輯:我發現meld正在一些。應用程序不會立即加載整個文件,這會阻止用戶界面。相反,它會順序讀取文件內容。

回答

4

你有KDE或其他視覺環境嗎?如果是的話,你有沒有試過使用鉻擴展JSONView

+1

我在Ubuntu 10.10使用GNOME。我使用[JSON格式化程序](https://chrome.google.com/webstore/detail/bcjindcccaagfpapjjmafapmmgkkhgoa)並嘗試了您的建議。當我通過HTTP加載JSON文件時,兩者都很好用。但是,當我簡單地使用Chromium打開文件時,不會應用語法高亮顯示。奇怪的是,其他應用程序在打開大文件時幾乎死亡,而Chromium在相同情況下沒有問題。 – JJD

+0

號我自JSONView以來的盛大+1比似乎比JSON格式化程序更快。但是,他們並沒有像我已經說過的那樣解決我的問題。 – JJD

+0

我發現了**如何格式化本地文件**也。您必須明確地爲擴展名[啓用對本地文件的訪問](https://github.com/gildas-lormeau/JSONView-for-Chrome/issues/14)。 – JJD

2

核心用法很格式化大json。我使用25MB json文件測試了Chrome擴展JSON視圖。它在加載它作爲本地文件或網絡時崩潰。通過崩潰,我的意思是JSON不會被格式化,並且在查看JSON視圖選項時,您將收到崩潰消息。我也嘗試過類似的Firefox插件。我也嘗試過在線json格式化器。發現這個庫 - jsonpps工作得很好,從命令行格式化大型json,輸入並將格式化的json保存爲單獨的文件。它也可以保存在同一個文件中(需要可選參數)

一個缺點,要安裝和運行,應該熟悉Java和Maven。

要安裝&運行:

git clone https://github.com/bazaarvoice/jsonpps.git 
mvn clean package 
cd target 
java -jar jsonpps-1.2-SNAPSHOT.jar -o /path/to/output.json /path/to/largeInput.json 

這種解決方案並不侷限於Ubuntu Linux系統。它應該適用於任何操作系統。

7

Python的JSON的模塊也可以這樣做(python -m json.tool),例如:

cat myjsonfile.json | python -m json.tool > pretty.json