Sobes.tech
Junior
709

¿Cuáles son las diferencias entre las funciones json.dumps y json.dump, así como json.loads y json.load?

Respuesta de la IA

sobes.tech AI

json.dumps (la s al final significa string) convierte un objeto de Python en una cadena en formato JSON.

json.dump convierte un objeto de Python en una cadena en formato JSON y la escribe en un objeto similar a un archivo (por ejemplo, un archivo) en la ruta especificada.

import json

datos = {'nombre': 'Alicia', 'edad': 30}

# json.dumps
cadena_json = json.dumps(datos, indent=4) # Convierte el objeto en una cadena
print(cadena_json)

# json.dump
with open('salida.json', 'w') as f:
    json.dump(datos, f, indent=4) # Escribe el objeto en un archivo

json.loads (de nuevo, la s significa string) convierte una cadena en formato JSON de vuelta a un objeto de Python.

json.load lee datos de un objeto similar a un archivo (por ejemplo, un archivo) en formato JSON y los convierte de nuevo en un objeto de Python.

import json

cadena_json = '{"nombre": "Bob", "edad": 25}'

# json.loads
objeto_python_desde_cadena = json.loads(cadena_json) # Convierte la cadena en un objeto
print(objeto_python_desde_cadena)

# json.load
with open('entrada.json', 'r') as f:
    objeto_python_desde_archivo = json.load(f) # Lee del archivo y convierte
print(objeto_python_desde_archivo)

Tabla resumen de diferencias:

Función Datos de entrada Datos de salida Propósito principal
json.dumps Objeto de Python Cadena (formato JSON) Convertir un objeto en una cadena para transmisión/almacenamiento
json.dump Objeto de Python Escritura en un objeto de archivo Convertir un objeto y escribirlo en un archivo
json.loads Cadena en formato JSON Objeto de Python Analizar la cadena y convertirla en un objeto
json.load Objeto de archivo Objeto de Python Leer desde un archivo y convertir en un objeto