Heim  >  Artikel  >  Backend-Entwicklung  >  Wie serialisiere ich Python-Datetime-Objekte in JSON für die JavaScript-Deserialisierung?

Wie serialisiere ich Python-Datetime-Objekte in JSON für die JavaScript-Deserialisierung?

DDD
DDDOriginal
2024-10-20 19:14:02826Durchsuche

How to Serialize Python Datetime Objects into JSON for JavaScript De-Serialization?

Python-Datetime-Objekte in JSON für JavaScript-Anwendungen serialisieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn