Я устал от форматирования JSON файлов

Я много и часто просматриваю JSON-файлы: от конфигураций сервисов до API ответов и логов. Каждый раз, открывая очередной файл, я форматирую содержимое, чтобы было удобнее читать (ведь JSON не только machine-readable, но и human-readable). И каждый раз я грущу, что все сервисы (онлайн, встроенные средства IDE и даже плагины) предоставляют лишь две крайности: форматировать всё или ничего (минифицировать в одну строку).
Но что, если я хочу отформатировать JSON лишь до определённого уровня? Что, если у меня есть огромный список словарей (возможно, даже глубоких), который при форматировании выглядит как-то так:
[
{
"id": 1,
"name": "Alice",
"birthday": {
"day": 5,
"month": 4,
"year": 1983
}
},
{
"id": 2,
"name": "Bob",
"birthday": {
"day": 6,
"month": 2,
"year": 1945
}
},
{
"id": 3,
"name": "Eve",
"birthday": {
"day": 10,
"month": 11,
"year": 1978
}
}
]
Что, если я хочу оставить каждый словарь в более компактном (не совсем минифицированном) виде? Например, таком:
[
{"id": 1, "name": "Alice", "birthday": {"day": 5, "month": 4, "year": 1983}},
{"id": 2, "name": "Bob", "birthday": {"day": 6, "month": 2, "year": 1945}},
{"id": 3, "name": "Eve", "birthday": {"day": 10, "month": 11, "year": 1978}}
]
Или я хочу, чтобы в каждом словаре развёрнуты были только внешние ключи?
[
{
"id": 1,
"name": "Alice",
"birthday": {"day": 5, "month": 4, "year": 1983}
},
{
"id": 2,
"name": "Bob",
"birthday": {"day": 6, "month": 2, "year": 1945}
},
{
"id": 3,
"name": "Eve",
"birthday": {"day": 10, "month": 11, "year": 1978}
}
]
Да, многие текстовые редакторы вроде Sublime Text или VS Code дают возможность свернуть контент до определённого уровня. Но что, если я хочу оставить файл в этом промежуточном виде и просматривать его прямо в терминале, подключившись по ssh? Или я хочу посмотреть файл на гитхабе с телефона? Да, возможно, мои вкусы весьма специфичны, но в существующих реалиях я вынужден грустно довольствоваться лишь полностью развёрнутым вариантом (или делать это вручную). Встроенные средства форматирования JSON в JS или Python также не предоставляют простой возможности ограничить глубину (либо я так и не научился их готовить).
Поэтому я собрался с силами и написал свой форматтер с возможностью ограничить глубину. Помимо базового функционала вроде валидации, минификации и настройки количества отступов, в нём есть настройка максимальной глубины (по умолчанию она равна нулю, что соответствует привычному форматированию без ограничений).
Да, он вряд ли подойдёт, чтобы редактировать на лету гигантские JSON файлы. И он уж точно не пытается стать убийцей какого-либо из существующих онлайн сервисов. В первую очередь он призван решить мою проблему: сделать форматирование JSON чуточку более управляемым. А если и вы сталкивались с подобной проблемой, буду рад, если сервис поможет и вам!