import json json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
s
- строка в формате JSON,cls=None
- пользовательский подкласс JSONDecoder
,object_hook=None
- пользовательская функция для преобразования каждого литерала словаря,parse_float=None
- пользовательская функция для преобразования литералов, похожих на float
,parse_int=None
- пользовательская функция для преобразования литералов, похожих на int
,parse_constant=None
- пользовательская функция для преобразования литералов -Infinity
, Infinit
и NaN
,object_pairs_hook=None
- пользовательская функция для преобразования литералов, , декодированных упорядоченным списком пар,Функция loads()
модуля json
преобразует строку в формате JSON в объект Python. Десериализация объектов Python выполняется согласно таблице преобразования, представленной в описании класса json.JSONEncoder
.
Подробное описание остальных аргументов для json.loads()
, которые имеют то же значение, смотрите в описании функции json.load()
.
Если десериализованные данные не являются допустимым форматом JSON, возникнет исключение JSONDecodeError
.
# сначала преобразуем список данных в строку JSON >>> data = ['foo', {'bar': ['baz', None, 1.0, 2], 'key': 'value', 10: 'ten'}] >>> data_json = json.dumps(data) # строка в формате JSON >>> data_json # '["foo", {"bar": ["baz", null, 1.0, 2], "key": "value", "10": "ten"}]' # теперь преобразуем строку JSON 'data_json' в объект Python >>> data = json.loads(data_json) >>> data # ['foo', {'bar': ['baz', None, 1.0, 2], 'key': 'value', '10': 'ten'}] # доступ к данным >>> data[0] # 'foo' >>> data[1]['bar'] # ['baz', None, 1.0, 2] >>> data[1]['bar'][2] # 1.0 # обратите внимание ключи словаря # преобразуются в строку >>> data[1]['10'] # 'ten'