все Python 3jsonфункция
json.loads
json
Разбирает JSON-строку в объект Python.
Синтаксис
json.loads(s)
JSON — не Python-литерал: true/false/null вместо True/False/None, только двойные кавычки, никаких висячих запятых. Именно на этом обычно и падает json.JSONDecodeError (наследник ValueError) — ловите его по имени, а у объекта исключения есть .pos, .lineno и .colno, которые показывают место поломки. Разбирать JSON через eval нельзя: это дыра в безопасности, да и на true/null такой разбор всё равно упадёт.
Примеры
import json
print(json.loads('{"x": 5, "y": true}')) # → {'x': 5, 'y': True}
print(json.loads('[1, 2, 3]')) # → [1, 2, 3]
data = json.loads('{"user": {"name": "Bob", "scores": [4, 5]}}')
print(data['user']['scores'][1]) # → 5
print(json.loads("{'x': 1}")) # → JSONDecodeError (нужны двойные кавычки)
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности