„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So serialisieren und deserialisieren Sie Datetime-Objekte in JSON zwischen Python und JavaScript

So serialisieren und deserialisieren Sie Datetime-Objekte in JSON zwischen Python und JavaScript

Veröffentlicht am 08.11.2024
Durchsuche:385

How to Serialize and Deserialize Datetime Objects in JSON Between Python and JavaScript

Verarbeitung von Datetime-Objekten in JSON zwischen Python und JavaScript

Beim Datenaustausch zwischen Python und JavaScript kommt es häufig vor, dass Datetime-Objekte auftreten. 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.

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)

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 Objekte zu verarbeiten Typen:

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))

Diese Funktion prüft, ob ein „isoformat“-Attribut vorhanden ist. Dies ist bei Datetime-Objekten üblich und konvertiert es in ein serialisierbares Format. Darüber hinaus verarbeitet es nach Bedarf andere Objekttypen.

Durch die Nutzung dieser Techniken können Datetime-Objekte effizient aus Python serialisiert und in JavaScript deserialisiert werden, was einen reibungslosen Datenaustausch zwischen den beiden Sprachen erleichtert.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729330037 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3