Справочник по функциям Python

json.dumps

Преобразует объект Python в строку формата JSON.

Python 3.13
json.dumps(obj, *, ensure_ascii=True, indent=None, sort_keys=False)

Параметры

objAny
Объект для преобразования: словарь, список, кортеж, строка, число, bool или None.
ensure_asciiboolнеобязательный
Если False, кириллица и другие не-ASCII символы записываются как есть, а не кодами \uXXXX.
indentint | str | Noneнеобязательный
Отступ для вложенных элементов; если задан, JSON выводится на несколько строк.
sort_keysboolнеобязательный
Если True, ключи словарей сортируются.

Возвращаемое значение

Строка с JSON; для неподдерживаемого объекта, например множества, вызывает TypeError.

Примеры

Словарь в строку JSON

Python 3.13
import json

print(json.dumps({'name': 'Anna', 'age': 25, 'admin': False}))
{"name": "Anna", "age": 25, "admin": false}

Кириллица без экранирования

Python 3.13
import json

print(json.dumps({'city': 'Москва'}, ensure_ascii=False))
{"city": "Москва"}

Отступы и сортировка ключей

Python 3.13
import json

print(json.dumps({'b': 1, 'a': [1, 2]}, indent=2, sort_keys=True))
{
  "a": [
    1,
    2
  ],
  "b": 1
}

Подробности

True, False и None превращаются в true, false и null, а кортежи — в списки. Ключами словаря в JSON могут быть только строки: ключи-числа, True, False и None преобразуются в строки ("1", "true", "null"), а ключ другого типа, например кортеж, вызывает TypeError. У функции есть и другие именованные параметры, например separators и default.

Смотрите также

Где изучить