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