Python: красиво вывести JSON с отступами
Чтобы красиво вывести JSON в Python, используйте json.dumps(data, indent=2, ensure_ascii=False). indent добавляет отступы, а ensure_ascii=False оставляет кириллицу читаемой вместо escape-последовательностей \u.....
Форматировать объект в строку
import json
data = {"имя": "Ира", "активен": True}
formatted = json.dumps(data, indent=2, ensure_ascii=False)
print(formatted.splitlines()[1].strip()) # "имя": "Ира",Если нужен только быстрый вывод в консоль, можно передать indent=2 прямо в json.dumps.
Записать отформатированный JSON в файл
import json
data = {"имя": "Ира", "активен": True}
with open("settings.json", "w", encoding="utf-8") as file:
json.dump(data, file, indent=2, ensure_ascii=False)Вариант | Использование |
|---|---|
| Получить JSON-строку |
| Записать JSON в открытый файл |
| Читаемые отступы в 2 пробела |
| Сохранить Unicode-символы напрямую |
Командная строка тоже умеет форматировать корректный JSON: python -m json.tool input.json output.json.
Как проверить, что JSON корректен?
Прочитайте его через json.load() или запустите python -m json.tool input.json. Форматирование не исправит некорректную структуру данных.