Rumah >hujung hadapan web >tutorial js >Cara Mengendalikan Objek Datetime dalam Pertukaran JSON Antara Python dan JavaScript
Mengendalikan Objek Datetime dalam JSON Exchange Antara Python dan JavaScript
Apabila menukar objek datetime antara Python dan JavaScript menggunakan JSON, terdapat cabaran yang perlu kepada cara yang berbeza kedua-dua bahasa mewakili tarikh dan masa. Artikel ini membentangkan amalan terbaik untuk tugasan ini.
Penukaran Python-ke-JavaScript
Untuk mensiri objek datetime.datetime dalam Python untuk penghantaran JSON, gunakan ' parameter lalai' bagi fungsi json.dumps dengan fungsi pengendali tarikh tersuai:
<code class="python">date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json.dumps(datetime.datetime.now(), default=date_handler)</code>
Fungsi ini mengembalikan format ISO 8601 bagi objek datetime, yang merupakan piawaian yang diterima secara meluas untuk perwakilan tarikh dan masa.
Penukaran JavaScript-ke-Python
Dalam JavaScript, anda boleh menyahsiri rentetan JSON yang diterima dengan fungsi pengubah tarikh tersuai. Fungsi ini akan menghuraikan rentetan ISO 8601 dan membina semula objek datetime:
<code class="javascript">let date_reviver = date => new Date(date); JSON.parse(json_string, date_reviver);</code>
Pengendali Tarikh Komprehensif
Untuk pendekatan yang lebih komprehensif, anda boleh mencipta tarikh tersuai fungsi pengendali yang meliputi berbilang jenis data:
<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>
Fungsi ini memastikan jenis objek yang berbeza dikendalikan dengan sewajarnya semasa bersiri.
Nota Tambahan
Atas ialah kandungan terperinci Cara Mengendalikan Objek Datetime dalam Pertukaran JSON Antara Python dan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!