Encontrar la Profundidad de un JSON
Un objeto JSON es un formato de datos popular con diversos usos en almacenamiento y comunicación de información. Es simple y fácil de leer, y puede ser analizado y generado por una amplia variedad de lenguajes. El formato es esencialmente una colección no ordenada de pares
key:value
(como un diccionario). Los pares key:value
tienen la forma:"key": value
Tanto
"key"
como value
pueden ser cualquier tipo de dato JSON válido. Estos pares están separados por comas y rodeados por llaves { }
para formar un objeto. Los valores pueden ser otro objeto JSON, aumentando así la profundidad del objeto JSON.Tu tarea es crear una función en Python llamada
calculate_depth
que reciba un objeto JSON como argumento y devuelva la profundidad máxima del objeto.El objeto JSON se presentará como una cadena. Para simplificar, puedes asumir que el objeto JSON estará bien formateado y que todas las claves serán cadenas. Sin embargo, los valores pueden ser cadenas, números, booleanos, nulos u otros objetos JSON (representados como diccionarios anidados).
¿Cómo convertir una cadena JSON en un diccionario en Python?
Puedes usar el módulo
json
en Python para convertir una representación en cadena de un objeto JSON en un diccionario de Python:import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
# Usa json.loads() para convertir la cadena en un diccionario
dict_obj = json.loads(json_string)
print(dict_obj)
# Output: {'name': 'John', 'age': 30, 'city': 'New York'}
En este ejemplo,
json.loads(json_string)
se utiliza para convertir json_string
en un diccionario de Python. La función loads
es abreviatura de "load string". Luego puedes usar este diccionario en tu programa de Python como cualquier otro diccionario.Tu función debe devolver un solo entero: la profundidad máxima del objeto JSON de entrada. La profundidad se define como el nivel máximo de objetos JSON anidados. El objeto JSON de nivel superior tiene una profundidad de 1, un objeto JSON dentro de otro objeto JSON tiene una profundidad de 2, y así sucesivamente.
Entrada | Salida |
{ "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 profundidad no se define por el número de pares
key:value
, sino por el nivel máximo de objetos JSON anidados.Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB