Maison > interface Web > js tutoriel > Comment sérialiser des objets Datetime Python pour un échange JSON transparent avec JavaScript ?

Comment sérialiser des objets Datetime Python pour un échange JSON transparent avec JavaScript ?

DDD
Libérer: 2024-10-19 17:32:02
original
714 Les gens l'ont consulté

How to Serialize Python Datetime Objects for Seamless JSON Exchange with JavaScript?

Sérialisation d'objets Datetime Python pour JSON Exchange avec JavaScript

Lors de l'utilisation de JSON pour communiquer entre Python et JavaScript, des défis surviennent dans la gestion des objets datetime. Pour résoudre ce problème, Python fournit un gestionnaire par défaut personnalisable, qui peut être intégré à json.dumps pour permettre une sérialisation et une désérialisation appropriées de ces objets.

En Python, la fonction de gestionnaire suivante exploite le format ISO 8601 pour convertir la date et l'heure. objets dans des chaînes compatibles JSON :

<code class="python">date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)</code>
Copier après la connexion

Cela garantit que la chaîne JSON résultante est dans un format qui peut être facilement analysé par JavaScript.

Cependant, il est important de considérer que la norme ISO 8601 le format ne transmet pas le type de l'objet. Pour une gestion plus complète, une fonction de gestionnaire plus robuste peut être définie :

<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

Ce gestionnaire étendu于反序列化。

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal