"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo serializar y deserializar objetos de fecha y hora en JSON entre Python y JavaScript

Cómo serializar y deserializar objetos de fecha y hora en JSON entre Python y JavaScript

Publicado el 2024-11-08
Navegar:421

How to Serialize and Deserialize Datetime Objects in JSON Between Python and JavaScript

Manejo de objetos de fecha y hora en JSON entre Python y JavaScript

Al intercambiar datos entre Python y JavaScript, es común encontrar objetos de fecha y hora. Para garantizar una serialización y deserialización perfectas de estos objetos, se pueden emplear varios enfoques.

Un método recomendado implica utilizar el parámetro 'predeterminado' de json.dumps en Python para manejar objetos de fecha y hora. Este parámetro habilita la especificación de una función de controlador que convierte los objetos de fecha y hora en un formato serializable.

from datetime import datetime

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json_str = json.dumps(datetime.datetime.now(), default=date_handler)
print(json_str)

Este enfoque garantiza que los objetos de fecha y hora de Python se conviertan al formato ISO 8601, que está estandarizado y reconocido por JavaScript.

"2010-04-20T20:08:21.634121"

Como alternativa, se puede definir una función de controlador predeterminada más completa para manejar varios objetos. tipos:

def handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()
    elif isinstance(obj, ...):
        return ...
    else:
        raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))

Esta función verifica la presencia de un atributo de 'isoformato', que es común en objetos de fecha y hora y lo convierte a un formato serializable. Además, maneja otros tipos de objetos según sea necesario.

Al aprovechar estas técnicas, los objetos de fecha y hora pueden serializarse eficientemente desde Python y deserializarse en JavaScript, lo que facilita el intercambio de datos sin problemas entre los dos lenguajes.

Declaración de liberación Este artículo se reimprime en: 1729330037 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3