Comment sérialiser des objets Datetime Python en JSON pour la désérialisation JavaScript ?

DDD
Libérer: 2024-10-20 19:14:02
original
826 Les gens l'ont consulté

How to Serialize Python Datetime Objects into JSON for JavaScript De-Serialization?

Sérialisation d'objets datetime Python en JSON pour les applications JavaScript

Lors de la communication entre des applications Python et JavaScript à l'aide de JSON, la gestion des objets datetime peut être difficile. Cet article explore l'approche optimale pour sérialiser les objets datetime Python en JSON pour une désérialisation transparente en JavaScript.

Pour gérer efficacement les objets datetime en JSON, le paramètre « par défaut » dans json.dumps() peut être utilisé. Une fonction de gestionnaire de date personnalisée peut être fournie pour gérer les objets datetime pendant le processus de sérialisation.

<code class="python">import datetime

# Create a date handler
date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)

# Serialize a datetime object
json_string = json.dumps(datetime.datetime.now(), default=date_handler)

print(json_string)  # Output: '"2023-02-13T18:38:48.942613"'</code>
Copier après la connexion

Le processus de sérialisation convertit l'objet datetime en sa représentation ISO 8601, qui est une représentation sous forme de chaîne largement prise en charge dans les applications JavaScript.

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()  # Handle datetime objects
    elif isinstance(obj, ...):
        ...                          # Handle other custom object types
    else:
        raise TypeError(f'Object of type {type(obj)} with value {repr(obj)} is not JSON serializable')</code>
Copier après la connexion

Ce gestionnaire amélioré offre une flexibilité supplémentaire dans la gestion de différents types d'objets pendant la sérialisation.

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
À 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!