"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment sérialiser et désérialiser des objets Datetime en JSON entre Python et JavaScript

Comment sérialiser et désérialiser des objets Datetime en JSON entre Python et JavaScript

Publié le 2024-11-08
Parcourir:740

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

Gestion des objets datetime en JSON entre Python et JavaScript

Lors de l'échange de données entre Python et JavaScript, il est courant de rencontrer des objets datetime. Pour garantir une sérialisation et une désérialisation transparentes de ces objets, diverses approches peuvent être utilisées.

Une méthode recommandée consiste à utiliser le paramètre « par défaut » de json.dumps en Python pour gérer les objets datetime. Ce paramètre permet de spécifier une fonction de gestionnaire qui convertit les objets datetime dans un format sérialisable.

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)

Cette approche garantit que les objets datetime Python sont convertis au format ISO 8601, qui est standardisé et reconnu par JavaScript.

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

Alternativement, une fonction de gestionnaire par défaut plus complète peut être définie pour gérer divers objets. types :

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))

Cette fonction vérifie la présence d'un attribut 'isoformat', qui est courant dans les objets datetime et le convertit en un format sérialisable. De plus, il gère d'autres types d'objets selon les besoins.

En tirant parti de ces techniques, les objets datetime peuvent être efficacement sérialisés à partir de Python et désérialisés en JavaScript, facilitant ainsi un échange fluide de données entre les deux langages.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729330037. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3