Fecha y hora JSON entre Python y JavaScript
Intercambiar objetos de fecha y hora entre Python y JavaScript usando JSON puede ser un desafío debido a las diferencias en sus respectivas fechas y formatos de hora. Para solucionar esto, podemos implementar controladores de serialización y deserialización JSON personalizados.
En Python, puede definir una función de controlador de serialización utilizando el parámetro predeterminado en la función json.dumps. Se llamará a este controlador cada vez que se encuentre un objeto de fecha y hora durante la serialización. El siguiente fragmento de código demuestra cómo crear un controlador para objetos de fecha y hora que los convierte al formato ISO 8601:
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
Esto generará el objeto de fecha y hora como una cadena en el formato ISO 8601:
"2010-04-20T20:08:21.634121"
En JavaScript, puede utilizar un controlador de deserialización personalizado para convertir la cadena ISO 8601 recibida nuevamente en un objeto de fecha y hora. Una función de controlador de deserialización integral podría verse así:
function handler(obj) {
if (typeof obj === 'string') {
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
// ISO 8601 Date string
return new Date(obj);
}
}
return obj;
}
Al utilizar estos controladores personalizados, puede intercambiar sin problemas objetos de fecha y hora entre Python y JavaScript usando JSON, lo que garantiza la compatibilidad entre las dos plataformas.
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