Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengendalikan Ralat 'datetime.datetime not JSON serializable' dalam Python?

Bagaimanakah Saya Boleh Mengendalikan Ralat 'datetime.datetime not JSON serializable' dalam Python?

Linda Hamilton
Lepaskan: 2024-12-08 17:25:11
asal
1060 orang telah melayarinya

How Can I Handle

JSON Pensirilan Objek Datetime

Menghadapi ralat "datetime.datetime not JSON serializable" semasa cuba jsonify kamus yang mengandungi objek datetime menyerlahkan perlu menangani had siri JSON jenis datetime Python. Untuk menangani masalah ini dengan berkesan, penyelesaian berikut dicadangkan:

Pendekatan siri JSON yang boleh disesuaikan membenarkan penukaran objek yang tidak boleh disiri, seperti masa tarikh, ke dalam format yang serasi dengan JSON. Dengan menggunakan parameter lalai dalam json.dumps(), anda boleh mentakrifkan fungsi yang mengendalikan penukaran objek datetime.

Sebagai contoh, fungsi lalai mudah yang menukar objek datetime kepada rentetan boleh dilaksanakan seperti berikut:

def convert_datetime(o):
    if isinstance(o, datetime):
        return str(o)
    return o
Salin selepas log masuk

Dengan menghantar fungsi ini sebagai argumen lalai kepada json.dumps(), anda boleh memastikan objek datetime ditukar kepada rentetan dan bersiri dengan jayanya:

json.dumps(sample, indent=4, sort_keys=True, default=convert_datetime)
Salin selepas log masuk

Pendekatan ini menyediakan penyelesaian yang fleksibel dan boleh disesuaikan untuk mensiri struktur data yang kompleks, termasuk yang mengandungi objek datetime, ke dalam format JSON.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Ralat 'datetime.datetime not JSON serializable' dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan