Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Menukar Objek Datetime Antara Python dan JavaScript Menggunakan 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>
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>
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>
Dengan menggunakan pendekatan ini, anda boleh mengendalikan pelbagai jenis objek dengan mudah semasa bersiri.
Nota Tambahan
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!