Maison >développement back-end >Tutoriel Python >Comment échanger des objets Datetime entre Python et JavaScript à l'aide de JSON ?
Datetime JSON entre Python et JavaScript
L'échange d'objets datetime entre Python et JavaScript à l'aide de JSON peut être difficile en raison des différences entre leurs dates et formats d'heure. Pour résoudre ce problème, nous pouvons implémenter des gestionnaires de sérialisation et de désérialisation JSON personnalisés.
En Python, vous pouvez définir une fonction de gestionnaire de sérialisation en utilisant le paramètre par défaut dans la fonction json.dumps. Ce gestionnaire sera appelé chaque fois qu'un objet datetime est rencontré lors de la sérialisation. L'extrait de code suivant montre comment créer un gestionnaire pour les objets datetime qui les convertit au format ISO 8601 :
<code class="python">date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json.dumps(datetime.datetime.now(), default=date_handler)</code>
Cela affichera l'objet datetime sous forme de chaîne au format ISO 8601 :
<code class="json">"2010-04-20T20:08:21.634121"</code>
En JavaScript, vous pouvez utiliser un gestionnaire de désérialisation personnalisé pour reconvertir la chaîne ISO 8601 reçue en un objet datetime. Une fonction complète de gestionnaire de désérialisation pourrait ressembler à :
<code class="javascript">function handler(obj) { if (typeof obj === 'string') { if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) { // ISO 8601 Date string return new Date(obj); } } return obj; }</code>
En utilisant ces gestionnaires personnalisés, vous pouvez échanger de manière transparente des objets datetime entre Python et JavaScript à l'aide de JSON, garantissant ainsi la compatibilité entre les deux plates-formes.
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!