Maison > interface Web > js tutoriel > le corps du texte

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

Linda Hamilton
Libérer: 2024-10-19 17:28:30
original
970 Les gens l'ont consulté

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.

<code class="python">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)</code>
Copier après la connexion

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"
Copier après la connexion

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

<code class="python">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))</code>
Copier après la connexion

Cette fonction vérifie la présence d'un attribut 'isoformat', qui est commun 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!