JSON y YAML

JSON

JSON significa JavaScript Object Notation y es un formato ligero para almacenar y transportar datos. JSON se utiliza a menudo cuando los datos se envían desde un servidor a una página web.

# Read JSON file: json.load() parses JSON from file object
import json
with open("filename.json", "r") as f:  # Abrir archivo en modo lectura
    content = json.load(f)  # Analizar JSON y devolver dict/lista de Python

Escribir un archivo JSON con:

# Write JSON file: json.dump() writes Python object as JSON
import json

content = {"name": "Joe", "age": 20}
with open("filename.json", "w") as f:  # Abrir archivo en modo escritura
    json.dump(content, f, indent=2)  # Escribir JSON con sangría de 2 espacios
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué función se utiliza para escribir un diccionario de Python en un archivo JSON?
A. json.write()
B. json.dump()
C. json.save()
D. json.export()

YAML

En comparación con JSON, YAML permite una mantenibilidad humana mucho mejor y da la capacidad de añadir comentarios. Es una opción conveniente para archivos de configuración que un humano tendrá que editar.

Hay dos bibliotecas principales que permiten el acceso a archivos YAML:

Instálalas usando pip install en tu entorno virtual.

La primera es más fácil de usar, pero la segunda, Ruamel, implementa mucho mejor la especificación YAML y permite, por ejemplo, modificar un contenido YAML sin alterar los comentarios.

Abrir un archivo YAML con:

# Read YAML file using ruamel.yaml library
from ruamel.yaml import YAML

with open("filename.yaml") as f:
    yaml=YAML()  # Crear instancia de analizador YAML
    yaml.load(f)  # Analizar YAML y devolver dict/lista de Python
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cuál es una ventaja de YAML sobre JSON?
A. Los archivos YAML son más pequeños
B. YAML se analiza más rápido
C. YAML permite comentarios y es más legible para humanos
D. YAML está integrado en Python

Anyconfig

Anyconfig es un paquete muy útil que permite abstraer completamente el formato subyacente del archivo de configuración. Permite cargar un diccionario de Python desde JSON, YAML, TOML, y otros.

Instálalo con:

pip install anyconfig

Uso:

# anyconfig: load configuration files in various formats (JSON, YAML, TOML, etc.)
import anyconfig
conf1 = anyconfig.load("/path/to/foo/conf.d/a.yml")  # Auto-detecta el formato
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué permite hacer la librería anyconfig?
A. Cargar archivos de configuración en varios formatos (JSON, YAML, TOML) sin especificar el formato
B. Convertir entre diferentes formatos de configuración
C. Validar la sintaxis de los archivos de configuración
D. Cifrar archivos de configuración

Enlaces relevantes