Manipulando objetos JSON anidados
Además de recorrer datos JSON anidados, es posible que también necesites manipular o actualizar la estructura JSON. El módulo json
de Python proporciona varias funciones para ayudarte en esta tarea.
Modificando datos JSON anidados
Para modificar datos JSON anidados, primero puedes cargar los datos JSON en un diccionario de Python, actualizar los valores deseados y luego volver a convertir los datos modificados en una cadena JSON.
import json
## Cargar datos JSON
json_data = '{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'
data = json.loads(json_data)
## Modificar datos anidados
data["name"] = "Jane Smith"
data["address"]["city"] = "Los Ángeles"
data["address"]["state"] = "CA"
## Volver a convertir datos modificados a JSON
updated_json = json.dumps(data, indent=2)
print(updated_json)
Salida:
{
"name": "Jane Smith",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Los Ángeles",
"state": "CA"
}
}
Agregando o eliminando elementos anidados
También puedes agregar o eliminar elementos anidados en un objeto JSON. Para agregar un nuevo par clave-valor, simplemente asigna el nuevo valor a la clave deseada. Para eliminar un par clave-valor, puedes usar la palabra clave del
.
import json
## Cargar datos JSON
json_data = '{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'
data = json.loads(json_data)
## Agregar un nuevo elemento anidado
data["address"]["zip_code"] = "10001"
## Eliminar un elemento anidado
del data["address"]["state"]
## Volver a convertir datos modificados a JSON
updated_json = json.dumps(data, indent=2)
print(updated_json)
Salida:
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"zip_code": "10001"
}
}
Al usar estas técnicas, puedes manipular eficientemente datos JSON anidados en Python, lo que te permite actualizar, agregar o eliminar elementos según sea necesario.