2012-05-22 6 views
13

Я хотел бы услышать ваши предложения о том, как обрабатывать большой (40 МБ) JSON-файл на Ubuntu. Я бы хотел, чтобы это было довольно напечатано в vim или gedit или любой другой редактор. Можно найти множество учебников о том, как prettify the JSON, однако им не нужно иметь дело с большими вводами. Я также предполагаю, что смогу передавать данные через pygments или любой другой синтаксический маркер. Мне любопытно услышать ваши идеи.Как увидеть большой файл JSON, довольно напечатанный на Ubuntu?

Пример загрузки:

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 

Пожалуйста, обратите внимание на размер загружаемого файла!


EDIT: я узнал, что meld несколько работает. Приложение не загружает весь файл сразу, что блокирует пользовательский интерфейс. Вместо этого он последовательно считывает содержимое файла.

ответ

4

У вас есть KDE или любая другая визуальная среда? Если да, попробовали ли вы использовать расширение хром JSONView?

+1

Я использую Gnome на Ubuntu 10.10. Я использую [форматирование JSON] (https://chrome.google.com/webstore/detail/bcjindcccaagfpapjjmafapmmgkkhgoa) и попробовал ваше предложение. Оба работают отлично, когда я загружаю JSON-файл через HTTP. Однако подсветка синтаксиса не применяется, когда я просто открываю файл с помощью Chromium. Странно также, что другие приложения почти умирают, когда они открывают большой файл, в то время как у Chromium нет проблем в одном и том же случае. – JJD

+0

Нет. I grand +1, поскольку JSONView кажется быстрее, чем форматировщик JSON. Однако, как я уже сказал, они не решают мою проблему. – JJD

+0

Я узнал **, как форматировать локальные файлы **. Вы должны [разрешить доступ к локальным файлам] (https://github.com/gildas-lormeau/JSONView-for-Chrome/issues/14) для расширения явно. – JJD

2

Основное использование довольно форматирование большого json. Я тестировал расширение JSON Chrome с 25-мегабайтным json-файлом. Он падает при загрузке в качестве локального файла или из сети. К краху я имею в виду, что JSON не будет отформатирован и при просмотре вариантов просмотра JSON вы получите сообщение об ошибке. Я также пробовал подобные дополнения для firefox. Я также пробовал использовать json formatters.

Обнаружили эту библиотеку - 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. Он должен работать в любой операционной системе.

7

модуль Python JSON может сделать это тоже (python -m json.tool), например .:

cat myjsonfile.json | python -m json.tool > pretty.json 
Смежные вопросы