Lectura y escritura de archivos json
Los archivos JSON (JavaScript Object Notation) se utilizan para almacenar y transportar datos estructurados. A diferencia de los TXT o CSV, pueden representar objetos, listas anidadas y jerarquías más complejas. Python ofrece el módulo json para su manejo.
Tenemos la siguiente estructura de nuestro proyecto:
Directorysrc
- leer_json.py
- escribir_json.py
- rescribir_json.py
Directorydocs
- products.json
Leer un archivo JSON
Sección titulada «Leer un archivo JSON»Abre el archivo products.json en modo lectura (“r”), carga su contenido como una lista de diccionarios y luego imprime el nombre y precio de cada producto.
import json
with open('./document/products.json', mode='r') as file: products = json.load(file)
for product in products: print(f'El producto {product['name']} con precio de {product['price']}')
Añadir un elemento al archivo JSON
Sección titulada «Añadir un elemento al archivo JSON»Carga los productos desde el archivo, añade un nuevo producto al final de la lista y guarda todo nuevamente, sobrescribiendo el archivo original.
import json
# Nuevo producto a agregarnew_product = {'name': 'Teclado', 'price': 19.99}
# Leer productos actualeswith open('./document/products.json', 'r') as file:products = json.load(file)
# Agregar el nuevo productoproducts.append(new_product)
# Guardar la lista actualizadawith open('./document/products.json', 'w') as file:json.dump(products, file, indent=2)
Sobrescribir un archivo JSON
Sección titulada «Sobrescribir un archivo JSON»Sobrescribe por completo el archivo products.json con una nueva lista de productos. Usa el modo “w” para reemplazar todo el contenido anterior.
import json
# Lista nueva de productosproducts = [{'name': 'Mouse', 'price': 9.99},{'name': 'Monitor', 'price': 129.99}]
# Guardar nueva lista en el archivowith open('./document/products.json', 'w') as file:json.dump(products, file, indent=2)