Bei der Kommunikation zwischen Python- und JavaScript-Anwendungen mithilfe von JSON kann die Handhabung von Datetime-Objekten eine Herausforderung darstellen. In diesem Artikel wird der optimale Ansatz für die Serialisierung von Python-Datetime-Objekten in JSON für eine nahtlose Deserialisierung in JavaScript untersucht.
Um Datetime-Objekte in JSON effektiv zu verarbeiten, kann der Parameter „default“ in json.dumps() verwendet werden. Es kann eine benutzerdefinierte Datumshandlerfunktion bereitgestellt werden, um Datum/Uhrzeit-Objekte während des Serialisierungsprozesses zu verarbeiten.
<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>
Der Serialisierungsprozess konvertiert das Datum/Uhrzeit-Objekt in seine ISO 8601-Darstellung, eine Zeichenfolgendarstellung, die in JavaScript-Anwendungen weithin unterstützt wird.
Eine umfassendere Standard-Handlerfunktion kann definiert werden, um verschiedene Objekttypen zu verarbeiten:
<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>
Dieser erweiterte Handler bietet zusätzliche Flexibilität bei der Handhabung verschiedener Objekttypen während der Serialisierung.
Das obige ist der detaillierte Inhalt vonWie serialisiere ich Python-Datetime-Objekte in JSON für die JavaScript-Deserialisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!