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