Trova la Profondità di un JSON

Un oggetto JSON è un formato di dati popolare con diversi usi nell'archiviazione e nella comunicazione dei dati. È semplice e facile da leggere e può essere analizzato e generato da una vasta gamma di linguaggi. Il formato è essenzialmente una collezione non ordinata di coppie chiave:valore (come un dizionario). Le coppie chiave:valore hanno la forma:
"key": value
In cui sia "key" che value sono qualsiasi tipo di dato JSON valido. Queste coppie sono separate da virgole e racchiuse tra parentesi graffe { } per formare un oggetto. I valori possono essere un altro oggetto JSON, aumentando la profondità dell'oggetto JSON.
Il tuo compito è creare una funzione Python calculate_depth che riceve un oggetto JSON come argomento e restituisce la profondità massima dell'oggetto.
Il JSON sarà presentato come una stringa. Per semplicità, puoi assumere che il JSON sia ben formattato e che tutte le chiavi siano stringhe. Tuttavia, i valori possono essere stringhe, numeri, booleani, null o altri oggetti JSON (rappresentati come dizionari annidati).
Come convertire una stringa JSON in un dizionario in Python?
Puoi usare il modulo json in Python per convertire una rappresentazione in stringa di un oggetto JSON in un dizionario Python:
import json

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

# Usa json.loads() per convertire la stringa in un dizionario
dict_obj = json.loads(json_string)

print(dict_obj)
# Output: {'name': 'John', 'age': 30, 'city': 'New York'}
In questo esempio, json.loads(json_string) è usato per convertire json_string in un dizionario Python. La funzione loads è l'abbreviazione di "load string" (carica stringa). Puoi quindi usare questo dizionario nel tuo programma Python come qualsiasi altro dizionario.
La tua funzione dovrebbe restituire un singolo intero: la profondità massima dell'oggetto JSON di input. La profondità è definita come il livello massimo di oggetti JSON annidati. L'oggetto JSON di livello superiore ha una profondità di 1, un oggetto JSON all'interno di un altro oggetto JSON ha una profondità di 2, e così via.
Input
Output
{ "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
Nota: La profondità non è definita dal numero di coppie chiave:valore ma dal massimo livello di oggetti JSON annidati.
 

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