Trouver la Profondeur d'un JSON

Un objet JSON est un format de données populaire avec divers usages dans le stockage et la communication des données. Il est simple et facile à lire, et il peut être analysé et généré par une multitude de langages. Le format est essentiellement une collection non ordonnée de paires clé:valeur (comme un dictionnaire). Les paires clé:valeur sont présentées sous la forme :
"key": value
Où à la fois "key" et value sont n'importe quel type de données JSON valide. Ces paires sont séparées par des virgules et entourées d'accolades { } pour former un objet. Les valeurs peuvent être un autre objet JSON, augmentant ainsi la profondeur de l'objet JSON.
Votre tâche est de créer une fonction Python calculate_depth qui reçoit un objet JSON en argument et renvoie la profondeur maximale de l'objet.
L'objet JSON sera présenté sous forme de chaîne de caractères. Pour simplifier, vous pouvez supposer que l'objet JSON sera bien formaté et que toutes les clés seront des chaînes. Cependant, les valeurs peuvent être des chaînes, des nombres, des booléens, null, ou d'autres objets JSON (représentés comme des dictionnaires imbriqués).
Comment convertir une chaîne JSON en dictionnaire en Python ?
Vous pouvez utiliser le module json en Python pour convertir une représentation sous forme de chaîne d'un objet JSON en un dictionnaire Python :
import json

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

# Utilisez json.loads() pour convertir la chaîne en un dictionnaire
dict_obj = json.loads(json_string)

print(dict_obj)
# Output: {'name': 'John', 'age': 30, 'city': 'New York'}
Dans cet exemple, json.loads(json_string) est utilisé pour convertir json_string en un dictionnaire Python. La fonction loads est l'abréviation de "load string". Vous pouvez ensuite utiliser ce dictionnaire dans votre programme Python comme n'importe quel autre dictionnaire.
Votre fonction doit renvoyer un seul entier — la profondeur maximale de l'objet JSON d'entrée. La profondeur est définie comme le niveau maximal d'objets JSON imbriqués. L'objet JSON de premier niveau a une profondeur de 1, un objet JSON à l'intérieur d'un autre objet JSON a une profondeur de 2, et ainsi de suite.
Entrée
Sortie
{ "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
Remarque : La profondeur n'est pas définie par le nombre de paires clé:valeur mais par le niveau maximal d'objets JSON imbriqués.
 

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