Python Glossary English

все 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Сообщить о неточности