Maison >développement back-end >Tutoriel Python >Comment sérialiser des objets Datetime Python en JSON pour la désérialisation 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>
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>
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!