Cara Menukar Objek Datetime Antara Python dan JavaScript Menggunakan JSON

DDD
Lepaskan: 2024-10-20 19:15:02
asal
564 orang telah melayarinya

How to Convert Datetime Objects Between Python and JavaScript Using JSON

Menukar Objek Datetime antara Python dan JavaScript menggunakan JSON

Dalam bidang pensirilan data dan penyahsiran, pertukaran objek datetime antara Python dan JavaScript melalui JSON boleh menimbulkan cabaran. Mari kita mendalami cara kita boleh menangani isu ini dan membentangkan pendekatan terbaik untuk mengendalikan penukaran ini.

Serialization dalam Python

Untuk mensiri objek datetime.datetime daripada Python ke JSON, kita boleh menggunakan fungsi json.dumps() terbina dalam Python. Walau bagaimanapun, untuk memastikan pengendalian objek datetime dengan betul, kami perlu menyediakan parameter 'lalai' tersuai. Berikut ialah coretan kod sampel:

<code class="python">import datetime
import json

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)

json_string = json.dumps(datetime.datetime.now(), default=date_handler)
print(json_string)  # Output: "2010-04-20T20:08:21.634121"</code>
Salin selepas log masuk

Pendekatan ini memastikan objek datetime disiri dalam format ISO 8601, yang disokong secara meluas untuk perwakilan tarikh dan masa.

Penyahserialisasian dalam JavaScript

Jika anda menggunakan pustaka JavaScript yang mengendalikan penghuraian JSON, seperti JSON.parse(), ia akan menyahsiri rentetan ISO 8601 secara automatik menjadi objek Tarikh. Begini rupanya dalam JavaScript:

<code class="js">const json_object = JSON.parse(json_string);
const js_date = new Date(json_object);  // Converted to JavaScript Date object</code>
Salin selepas log masuk

Pengendali Lalai Komprehensif

Untuk pendekatan yang lebih komprehensif, pertimbangkan untuk menggunakan fungsi pengendali lalai yang mengendalikan julat yang lebih luas. jenis objek semasa bersiri:

<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>
Salin selepas log masuk

Dengan menggunakan pendekatan ini, anda boleh mengendalikan pelbagai jenis objek dengan mudah semasa bersiri.

Nota Tambahan

  • ISO 8601 ialah standard untuk mewakili tarikh dan masa dalam format yang boleh dibaca mesin.
  • Output pengendali tersuai hendaklah sepadan dengan format yang dijangkakan oleh deserializer.
  • Untuk lebih lanjut maklumat, rujuk kepada dokumentasi json.dumps() Python dan JSON.parse() JavaScript.

Atas ialah kandungan terperinci Cara Menukar Objek Datetime Antara Python dan JavaScript Menggunakan JSON. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!