Сообщить об ошибке.

Функция loads() модуля json в Python

Преобразовать строку JSON в объект Python

Синтаксис:

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 - пользовательская функция для преобразования литералов, , декодированных упорядоченным списком пар,

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

  • объект Python

Описание:

Функция 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'