Открытие и перестройка огромных файлов JSON¶
jsonreshape — это бесплатное настольное приложение и инструмент командной строки с открытым исходным кодом для файлов JSON и JSON Lines (NDJSON), слишком больших, чтобы открыть их в обычном редакторе, — от 100 MB до нескольких гигабайт.

Файл 2,1 GB с 6,5 млн записей. Часы под окном показывают реальное время; только фильтр ускорен в 8 раз, и это написано в строке под окном.
Чем он отличается¶
- Ничто не загружается в память целиком. Многогигабайтный файл индексируется один раз (байтовые границы каждой записи), а затем читаются только те записи, которые вы просматриваете. Файл в 2 GB готов примерно за 3 секунды; 10 миллионов записей сортируются за 77 секунд, используя менее 400 MB оперативной памяти.
- Исходный файл никогда не изменяется. Правки живут в отдельном слое; сохранение атомарно
заменяет файл, по умолчанию сохраняя резервную копию
.bak. - Автономно и конфиденциально. Ни телеметрии, ни доступа к сети — ваши данные никогда не покидают ваш компьютер.
- Быстрое ядро, удобные инструменты. Ядро на Rust с запасной реализацией на чистом Python, настольное окно на PySide6 и CLI для скриптов.
Что можно делать¶
| Задача | Руководство |
|---|---|
| Открыть и просматривать файл JSON / JSON Lines размером 2–5 GB | Открыть большой файл JSON |
| Преобразовать в CSV, Excel, SQLite, Parquet или Feather | Преобразование JSON |
| Сравнить два файла JSON | Сравнение файлов JSON |
| Исправить недопустимый / повреждённый файл JSON | Исправление повреждённого JSON |
| Развернуть вложенный JSON в таблицу | Развёртывание вложенного JSON |
| Разделить один большой файл / объединить много файлов | Разделение и объединение JSON |
Также включено: полнотекстовый поиск и поиск по регулярным выражениям, язык фильтров, сортировка по нескольким ключам, статистика полей с гистограммами, обнаружение дубликатов, создание и проверка JSON Schema и конструктор структуры с перетаскиванием. См. справочник CLI и Python API.
Установка одной строкой¶
Начиная с первого релиза:
pip install jsonreshape # CLI + Python library
pip install "jsonreshape[gui]" # add the desktop window
См. Установку для готовых сборок под Windows, сборки из исходного кода и необязательных дополнений Parquet / импорта.