Определение глубины JSON-объекта

JSON-объект — это популярный формат данных, широко используемый для хранения и передачи информации. Он прост и удобен для чтения, а его разбор и генерация поддерживаются множеством языков программирования. По сути, это неупорядоченный набор пар ключ:значение (как словарь). Пары ключ:значение имеют следующий вид:
"key": value
Где и "key", и value являются любыми допустимыми типами данных JSON. Эти пары разделяются запятыми и заключаются в фигурные скобки { }, образуя объект. Значением может быть другой JSON-объект, увеличивая глубину исходного JSON-объекта.
Ваша задача — создать функцию на Python под названием calculate_depth, которая принимает JSON-объект в качестве аргумента и возвращает его максимальную глубину.
JSON-объект будет предоставлен в виде строки. Для упрощения можно предположить, что JSON будет корректно отформатирован, и все ключи являются строками. Однако значения могут быть строками, числами, булевыми значениями, null или другими JSON-объектами (представленными как вложенные словари).
Как преобразовать JSON-строку в словарь в Python?
Вы можете использовать модуль json в Python для преобразования строкового представления JSON-объекта в словарь Python:
import json

json_string = '{"name": "John", "age": 30, "city": "New York"}'

# Используем json.loads() для преобразования строки в словарь
dict_obj = json.loads(json_string)

print(dict_obj)
# Вывод: {'name': 'John', 'age': 30, 'city': 'New York'}
В этом примере json.loads(json_string) используется для преобразования json_string в словарь Python. Функция loads означает "load string" (загрузить строку). Затем вы можете использовать этот словарь в вашей Python-программе как обычный словарь.
Ваша функция должна вернуть одно целое число — максимальную глубину входного JSON-объекта. Глубина определяется как максимальный уровень вложенности JSON-объектов. JSON-объект верхнего уровня имеет глубину 1, JSON-объект внутри другого JSON-объекта имеет глубину 2 и так далее.
Ввод
Вывод
{ "name":"John", "age":30, "city":"New York"}
1
{ "name":"John", "age":30, "city": { "name": "New York", "population": 8000000 }}
2
{ "name":"John", "details": { "age":30, "city": { "name": "New York", "population": { "year2023": 8000000, "year2022": 7900000 }}}}
4
Примечание: Глубина не определяется количеством пар ключ:значение, а максимальным уровнем вложенности JSON-объектов.
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue