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