Maison >interface Web >js tutoriel >Comment gérer les objets Datetime dans les conversions JSON entre Python et JavaScript ?
Lors du transfert de données entre Python et JavaScript à l'aide de JSON, une attention particulière doit être accordée à la gestion des objets datetime. Cet article explore l'approche optimale pour sérialiser des objets datetime en Python et les désérialiser en JavaScript.
Utilisez le paramètre par défaut dans la fonction json.dumps de Python pour gérer la sérialisation datetime :
<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) # Output: '"2010-04-20T20:08:21.634121"' (ISO 8601 format)</code>
En JavaScript, utilisez la fonction JSON.parse et gérez la désérialisation avec une fonction de reviver personnalisée :
<code class="javascript">let date = JSON.parse(jsonString, (key, value) => { if (typeof value === 'string' && value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/)) { return new Date(value); } return value; });</code>
Une fonction de gestionnaire par défaut plus inclusive peut être définie pour s'adapter à différents types de données :
<code class="python">import datetime def handler(obj): if hasattr(obj, 'isoformat'): return obj.isoformat() elif isinstance(obj, datetime.date): return str(obj) # Convert to string for date objects elif isinstance(obj, ...): return ... # Handle other types as needed else: raise TypeError('Cannot serialize object of type {} with value {}'.format(type(obj), repr(obj)))</code>
Le gestionnaire amélioré comprend :
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!