Umgang mit Datetime-Objekten in JSON zwischen Python und JavaScript
Beim Datenaustausch zwischen Python und JavaScript stößt man häufig auf Datetime-Objekte. Um eine nahtlose Serialisierung und Deserialisierung dieser Objekte sicherzustellen, können verschiedene Ansätze verwendet werden.
Eine empfohlene Methode besteht darin, den Parameter „default“ von json.dumps in Python zu verwenden, um Datetime-Objekte zu verarbeiten. Dieser Parameter ermöglicht die Angabe einer Handlerfunktion, die die Datetime-Objekte in ein serialisierbares Format konvertiert.
<code class="python">from datetime import datetime date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json_str = json.dumps(datetime.datetime.now(), default=date_handler) print(json_str)</code>
Dieser Ansatz stellt sicher, dass Python-Datetime-Objekte in das ISO 8601-Format konvertiert werden, das standardisiert und von JavaScript erkannt wird.
"2010-04-20T20:08:21.634121"
Alternativ kann eine umfassendere Standard-Handlerfunktion definiert werden, um verschiedene Objekttypen zu verarbeiten:
<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>
Diese Funktion prüft, ob ein „Isoformat“-Attribut vorhanden ist Wird häufig in Datetime-Objekten verwendet und konvertiert es in ein serialisierbares Format. Darüber hinaus verarbeitet es nach Bedarf andere Objekttypen.
Durch die Nutzung dieser Techniken können Datum/Uhrzeit-Objekte effizient aus Python serialisiert und in JavaScript deserialisiert werden, was einen reibungslosen Datenaustausch zwischen den beiden Sprachen erleichtert.
Das obige ist der detaillierte Inhalt vonSo serialisieren und deserialisieren Sie Datetime-Objekte in JSON zwischen Python und JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!