Գտեք JSON-ի խորությունը

JSON օբյեկտը վեբ հավելվածներում և սերվերներում օգտագործվող ֆայլի կամ տվյալների փոխանցման, պահպանման և հաղորդակցման ամենատարածված ձևաչափն է։ (JSON - անգլերենում՝ JavaScript Object Notation, հայերենում՝ Ջավասկրիպտ առարկայի նշագրում): JSON օբյեկտը պարզ է և հեշտ ընթեռնելի և կարող է վերլուծվել ու ստեղծվել բազմաթիվ լեզուներով: Ձևաչափը, ըստ էության, «բանալի:արժեք» զույգերի՝ (key:value), չդասավորված հավաքածու է (ինչպես բառարանը): key:value զույգերը գրվում են հետևյալ ձևով.
"key": value
Ցանկացած վավեր JSON տվյալների տեսակը կազմվում է թե՛ "key" «բանալիից» և թե՛ value «արժեքից»: Այս զույգերը բաժանված են ստորակետերով և փակված են փակագծերով { }՝ օբյեկտ կազմելու համար։ Արժեքները կարող են լինել մեկ այլ JSON օբյեկտ, ինչի դեպքում կավելանա JSON օբյեկտի խորությունը:
Ձեր խնդիրն է ստեղծել Python ֆունկցիա՝ calculate_depth անունով, որը որպես արգումենտ ստանում է JSON օբյեկտ և վերադարձնում օբյեկտի առավելագույն խորությունը։
JSON օբյեկտը կներկայացվի որպես տող: Խնդիրը չբարդացնելու համար կարող եք ենթադրել, որ JSON օբյեկտը կազմված կլինի ճշգրիտ ձևով, և բոլոր բանալիները (key) կլինեն տողեր (string): Սակայն հաշվի առեք, որ արժեքները (values) կարող են լինել տողեր, թվեր, տրամաբանական, զրոյական կամ այլ JSON օբյեկտներ (ներկայացված որպես ներդիր բառարաններ):
Ինչպե՞ս Python-ում JSON տողը փոխակերպել բառարանի:
Python-ում կարող ենք կիրառել json մոդուլը և JSON օբյեկտի տողային (string) ձևից ստանալ Python-ի բառարան.
import json

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

# Use json.loads() to convert the string to a dictionary
dict_obj = json.loads(json_string)

print(dict_obj)
# Output: {'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": { "year_2023": 8000000, "year_2022": 7900000 }}}}
4
Նշում․ խորությունը որոշվում է ոչ թե բանալի:արժեք զույգերի քանակով, այլ ներդրված JSON օբյեկտների առավելագույն մակարդակով:
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

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