Когда нам нужно выгрузить словарь в формате json, именно здесь применима концепция Pretty Print Json, где мы можем отобразить загруженный JSON в презентабельном формате.
Pretty Print JSON-файл в Python
Чтобы красиво печатать json-файлы в Python, передайте параметр indent в функцию json.dumps(). json.dumps() — это встроенный метод Python, который преобразует объект в строку JSON. Если вы работаете с внешним файлом json, вы можете использовать функцию json.load() для загрузки файла.
json.load() — это встроенный метод, который принимает объект файла и возвращает объект json. Ключи — это строки, а значения — это типы данных JSON.
Шаг 1: Давайте определим внешний файл json
Если вы имеете дело с файлом json, вам нужно загрузить файл с помощью функции json.load(). Если вы имеете дело с текстом json, вам нужно загрузить текст с помощью функции json.loads().
Вы можете определить внешний файл или определить статическую строку JSON. Давайте использовать внешний файл json.
Имя нашего файла — new_file.json.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] } |
Шаг 2: Прочитайте файл json
- Импортируйте json-модуль.
- Откройте data.json с помощью метода with().
- Загрузите объект JSON в файл data.json, используя метод json.load().
- Распечатайте значения объекта JSON, возвращенные методом load().
|
1 2 3 4 |
import json with open('new_file.json', 'r') as handle: parsed = json.load(handle) |
Все содержимое new_file.json хранится внутри анализируемой переменной.
Теперь, чтобы напечатать красивый json, используйте метод json.dumps(), передайте параметр отступа и назначьте подходящее значение, чтобы улучшить ваш json.
|
1 2 3 4 5 |
import json with open('new_file.json', 'r') as handle: parsed = json.load(handle) print(json.dumps(parsed, indent=4, sort_keys=True)) |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] } |
Мы передали значение отступа на 4. Вы можете передать любое целочисленное значение в соответствии с вашими требованиями.
Если мы передаем отступ = 2, то он вернет следующий отступ.
|
1 2 3 4 5 |
import json with open('new_file.json', 'r') as handle: parsed = json.load(handle) print(json.dumps(parsed, indent=2, sort_keys=True)) |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] } |
Вы можете ясно видеть разницу между двумя вышеприведенными выводами на основе значения отступа.

Давайте возьмем другой пример и определим статическую строку json и воспользуемся методом json.dumps() для предварительной настройки строки json.
|
1 2 3 4 5 |
import json json_str = '["Amazon", {"AWS":["Andy Jassy", "New CEO", 2.0]}]' parsed = json.loads(json_str) print(json.dumps(parsed, indent=4, sort_keys=True)) |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 |
[ "Amazon", { "AWS": [ "Andy Jassy", "New CEO", 2.0 ] } ] |
Вы можете видеть, что напечатанный json выглядит красиво, а 4 — хорошее значение отступа. Это ясно и лаконично.
