Bestimme die Tiefe eines JSON

Ein JSON-Objekt ist ein beliebtes Datenformat mit vielfältigen Einsatzmöglichkeiten in der Datenspeicherung und -kommunikation. Es ist einfach und leicht lesbar und kann von einer Vielzahl von Sprachen geparst und generiert werden. Das Format ist im Wesentlichen eine ungeordnete Sammlung von Schlüssel:Wert-Paaren (ähnlich einem Wörterbuch). Schlüssel:Wert-Paare haben die Form:
"key": value
Dabei können sowohl "key" als auch value beliebige gültige JSON-Datentypen sein. Diese Paare werden durch Kommas getrennt und von geschweiften Klammern { } umgeben, um ein Objekt zu bilden. Werte können ein weiteres JSON-Objekt sein, was die Tiefe des JSON-Objekts erhöht.
Deine Aufgabe ist es, eine Python-Funktion calculate_depth zu erstellen, die ein JSON-Objekt als Argument erhält und die maximale Tiefe des Objekts zurückgibt.
Das JSON-Objekt wird als String präsentiert. Der Einfachheit halber kannst du davon ausgehen, dass das JSON-Objekt gut formatiert ist und alle Schlüssel Strings sind. Die Werte können jedoch Strings, Zahlen, Boolesche Werte, null oder andere JSON-Objekte sein (dargestellt als verschachtelte Wörterbücher).
Wie konvertiert man einen JSON-String in ein Wörterbuch in Python?
Du kannst das json-Modul in Python verwenden, um eine String-Repräsentation eines JSON-Objekts in ein Python-Wörterbuch zu konvertieren:
import json

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

# Verwende json.loads(), um den String in ein Wörterbuch zu konvertieren
dict_obj = json.loads(json_string)

print(dict_obj)
# Ausgabe: {'name': 'John', 'age': 30, 'city': 'New York'}
In diesem Beispiel wird json.loads(json_string) verwendet, um den json_string in ein Python-Wörterbuch zu konvertieren. Die Funktion loads steht für "load string". Du kannst dieses Wörterbuch in deinem Python-Programm wie jedes andere Wörterbuch verwenden.
Deine Funktion sollte eine einzelne ganze Zahl zurückgeben – die maximale Tiefe des eingegebenen JSON-Objekts. Die Tiefe ist definiert als die maximale Ebene verschachtelter JSON-Objekte. Das oberste JSON-Objekt hat eine Tiefe von 1, ein JSON-Objekt innerhalb eines anderen hat eine Tiefe von 2 und so weiter.
Eingabe
Ausgabe
{ "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
Hinweis: Die Tiefe wird nicht durch die Anzahl der Schlüssel:Wert-Paare definiert, sondern durch die maximale Ebene verschachtelter JSON-Objekte.
 

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