все Python 3jsonфункция
json.dumps
json
Сериализует объект Python в JSON-строку (dict/list/str/int/float/bool/None).
Синтаксис
json.dumps(obj, *, indent=None)
В JSON ключи бывают только строковыми: dumps({1: 'a'}) даст {"1": "a"}, и после обратного разбора ключ останется строкой — тип не восстановится. Всё, что вне dict/list/tuple/str/int/float/bool/None (set, datetime, Decimal, свои классы), роняет TypeError; такие объекты переводят через параметр default. Ещё nan и inf сериализуются как NaN/Infinity — Python их прочитает, а строгий чужой парсер откажется.
Примеры
import json
print(json.dumps({'a': 1, 'b': [2, 3]})) # → {"a": 1, "b": [2, 3]}
print(json.dumps([1, 2, 3])) # → [1, 2, 3]
print(json.dumps('привет', ensure_ascii=False)) # → "привет"
print(json.dumps({'b': 1, 'a': 2}, sort_keys=True)) # → {"a": 2, "b": 1}
print(json.dumps({1, 2})) # → TypeError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности