Вопрос проверяет знание стандартного модуля json и того, как он маппит JSON-типы на Python-типы.
При загрузке JSON строковые значения становятся str, числа без дробной части — int, с дробной — float. Модуль json автоматически преобразует JSON-типы в соответствующие Python-типы при вызове json.loads.
Использование модуля json:
import json
data = json.loads(json_string) — строка → объект Python.
Соответствие типов:
JSON string → Python str.
JSON number (целое) → Python int.
JSON number (с точкой) → Python float.
JSON true/false → Python True/False.
JSON null → Python None.
Пример:
import json
s = '{"name": "Alice", "age": 30, "score": 95.5, "active": true, "notes": null}'
data = json.loads(s)
print(type(data["name"])) # <class 'str'>
print(type(data["age"])) # <class 'int'>
print(type(data["score"])) # <class 'float'>
print(type(data["active"])) # <class 'bool'>
print(data["notes"] is None)# TrueОсобенности:
Большие числа могут автоматически стать int произвольной длины.
Для точного разбора чисел можно использовать parse_int и parse_float в json.loads.