Mengendalikan Objek Datetime dalam JSON Antara Python dan JavaScript
Apabila bertukar-tukar data antara Python dan JavaScript, adalah perkara biasa untuk menemui objek datetime. Untuk memastikan penyiaran lancar dan penyahserikatan objek ini, pelbagai pendekatan boleh digunakan.
Satu kaedah yang disyorkan melibatkan penggunaan parameter 'lalai' json.dumps dalam Python untuk mengendalikan objek datetime. Parameter ini mendayakan spesifikasi fungsi pengendali yang menukar objek datetime ke format boleh bersiri.
<code class="python">from datetime import datetime date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json_str = json.dumps(datetime.datetime.now(), default=date_handler) print(json_str)</code>
Pendekatan ini memastikan objek datetime Python ditukar kepada format ISO 8601, yang diseragamkan dan diiktiraf oleh JavaScript.
"2010-04-20T20:08:21.634121"
Sebagai alternatif, fungsi pengendali lalai yang lebih komprehensif boleh ditakrifkan untuk mengendalikan pelbagai jenis objek:
<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 menyemak kehadiran atribut 'isoformat', iaitu biasa dalam objek datetime, dan menukarkannya kepada format boleh bersiri. Selain itu, ia mengendalikan jenis objek lain mengikut keperluan.
Dengan memanfaatkan teknik ini, objek datetime boleh diserikan dengan cekap daripada Python dan dinyahsiri dalam JavaScript, memudahkan pertukaran data yang lancar antara kedua-dua bahasa.
Atas ialah kandungan terperinci Cara Mensiri dan Menyahseri Objek Datetime dalam JSON Antara Python dan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!