Ralat Pensirilan JSON Array NumPy
Apabila cuba menyimpan tatasusunan NumPy sebagai pembolehubah konteks Django, mesej ralat mungkin menunjukkan bahawa tatasusunan tidak boleh bersiri JSON.
Penjelasan:
JSON, format data untuk aplikasi web, memerlukan data berada dalam struktur khusus untuk penghantaran yang cekap. Tatasusunan NumPy, sebaliknya, tidak serasi dengan format JSON, oleh itu ralat berlaku.
Penyelesaian:
Untuk menyelesaikan isu ini dan berjaya mensiri tatasusunan , tukarkannya kepada format mesra JSON sebelum menyimpannya sebagai pembolehubah konteks. Kaedah ".tolist()" tatasusunan NumPy menyediakan penyelesaian yang mudah:
<code class="python">import numpy as np a = np.arange(10).reshape(2,5) b = a.tolist() # Convert NumPy array to nested lists</code>
Kini, pembolehubah b mengandungi data yang sama dalam format yang serasi dengan siri JSON. Anda boleh menyimpannya sebagai pembolehubah konteks Django tanpa menghadapi ralat penyirian.
Nota Tambahan:
Untuk menyahsiri rentetan JSON kembali ke dalam tatasusunan NumPy, gunakan yang berikut langkah:
Baca fail JSON:
<code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()</code>
Muat rentetan JSON:
<code class="python">b_new = json.loads(obj_text)</code>
Tukar senarai kembali kepada tatasusunan NumPy:
<code class="python">a_new = np.array(b_new)</code>
Dengan langkah-langkah ini, anda boleh mensiri dan menyahsiri tatasusunan NumPy dengan berkesan untuk menyimpan dan mendapatkan semula data dalam aplikasi Django.
Atas ialah kandungan terperinci Bagaimana untuk Mensiri Tatasusunan NumPy untuk Pembolehubah Konteks Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!