Bagaimana untuk Mensiri dan Menyahseri JSON Datetimes antara Python dan JavaScript?

Barbara Streisand
Lepaskan: 2024-10-19 17:33:02
asal
829 orang telah melayarinya

How to Serialize and Deserialize JSON Datetimes between Python and JavaScript?

Mensiri dan Menyahseri JSON Datetime antara Python dan JavaScript

Dalam pembangunan web, penghantaran data antara sistem yang berbeza adalah penting. Satu cabaran biasa timbul apabila berurusan dengan objek datetime.datetime Python dalam konteks yang JSON digunakan sebagai format pertukaran data, terutamanya dalam senario yang melibatkan komunikasi dengan JavaScript.

Untuk menangani cabaran ini dengan berkesan, anda boleh memanfaatkan lalai parameter fungsi json.dumps. Dengan mentakrifkan fungsi date_handler tersuai dan menghantarnya sebagai argumen lalai, anda boleh mengawal cara objek datetime disirikan ke dalam bentuk yang JavaScript boleh tafsirkan.

Berikut ialah contoh pelaksanaan fungsi date_handler:

<code class="python">date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)</code>
Salin selepas log masuk

Fungsi ini menyemak sama ada objek ialah contoh datetime.datetime atau datetime.date, dan jika ya, ia mengembalikan perwakilan rentetan berformat ISO 8601 objek. Format ini serasi dengan objek Date asli JavaScript.

Dalam JavaScript, anda boleh menghuraikan rentetan JSON yang diterima yang mengandungi tarikh bersiri menggunakan fungsi JSON.parse dan objek Tarikh boleh dibuat daripada rentetan tarikh yang dihuraikan.

Walau bagaimanapun, untuk mengendalikan rangkaian jenis data yang lebih kompleks, anda mungkin memerlukan fungsi pengendali lalai yang lebih komprehensif seperti di bawah:

<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

Pengendali yang dipertingkat ini bukan sahaja akan menyemak tarikh tarikh objek tetapi juga mengendalikan jenis data lain seperti yang diperlukan.

Ingat, apabila menghantar objek datetime ke JavaScript, ia bersiri kepada rentetan. JavaScript kemudian membina semula objek Tarikh berdasarkan rentetan ini. Format ISO 8601 memastikan keserasian dan membolehkan pertukaran data yang mudah dan boleh dipercayai antara Python dan JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mensiri dan Menyahseri JSON Datetimes antara Python dan JavaScript?. 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
Artikel terbaru oleh pengarang
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!