JSON datetime entre Python e JavaScript
A troca de objetos datetime entre Python e JavaScript usando JSON pode ser desafiadora devido às diferenças em suas respectivas datas e formatos de hora. Para resolver isso, podemos implementar manipuladores de serialização e desserialização JSON personalizados.
Em Python, você pode definir uma função de manipulador de serialização usando o parâmetro padrão na função json.dumps. Este manipulador será chamado sempre que um objeto datetime for encontrado durante a serialização. O trecho de código a seguir demonstra como criar um manipulador para objetos de data e hora que os converte para o 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)
Isso gerará o objeto datetime como uma string no formato ISO 8601:
"2010-04-20T20:08:21.634121"
Em JavaScript, você pode usar um manipulador de desserialização personalizado para converter a string ISO 8601 recebida de volta em um objeto de data e hora. Uma função de manipulador de desserialização abrangente pode ser semelhante a:
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;
}
Ao usar esses manipuladores personalizados, você pode trocar perfeitamente objetos de data e hora entre Python e JavaScript usando JSON, garantindo a compatibilidade entre as duas plataformas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3