Apabila memindahkan data antara Python dan JavaScript menggunakan JSON, perhatian khusus harus diberikan untuk mengendalikan objek datetime. Artikel ini meneroka pendekatan optimum untuk mensiri objek datetime dalam Python dan menyahsirikannya dalam JavaScript.
Gunakan parameter lalai dalam fungsi json.dumps Python untuk mengendalikan pensirilan datetime:
<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) # Output: '"2010-04-20T20:08:21.634121"' (ISO 8601 format)</code>
Dalam JavaScript, gunakan fungsi JSON.parse dan kendalikan penyahserikatan dengan fungsi pembangkit semula tersuai:
<code class="javascript">let date = JSON.parse(jsonString, (key, value) => { if (typeof value === 'string' && value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/)) { return new Date(value); } return value; });</code>
Fungsi pengendali lalai yang lebih inklusif boleh ditakrifkan untuk menampung pelbagai jenis data:
<code class="python">import datetime def handler(obj): if hasattr(obj, 'isoformat'): return obj.isoformat() elif isinstance(obj, datetime.date): return str(obj) # Convert to string for date objects elif isinstance(obj, ...): return ... # Handle other types as needed else: raise TypeError('Cannot serialize object of type {} with value {}'.format(type(obj), repr(obj)))</code>
Pengendali yang dipertingkatkan termasuk:
Atas ialah kandungan terperinci Bagaimana Mengendalikan Objek Datetime dalam Penukaran JSON Antara Python dan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!