JSON Serializing NumPy Arrays
Apabila menghadapi ralat "array is not JSON serializable" semasa memuatkan halaman web, ini bermakna NumPy tatasusunan dalam pembolehubah konteks Django tidak boleh ditukar kepada format JSON. JSON (JavaScript Object Notation) ialah format data biasa yang digunakan untuk pertukaran data, dan ia memerlukan data berada dalam struktur tertentu. Tatasusunan NumPy, sebaliknya, mempunyai struktur yang lebih kompleks yang tidak boleh bersiri terus kepada JSON.
Untuk menyelesaikan isu ini, anda boleh menggunakan kaedah ".tolist()" pada tatasusunan NumPy. Kaedah ini menukar tatasusunan kepada senarai bersarang, yang kemudiannya boleh disirikan kepada JSON. Berikut ialah contoh:
<code class="python">import numpy as np import codecs, json a = np.arange(10).reshape(2, 5) # a 2 by 5 array b = a.tolist() # nested lists with the same data and indices file_path = "/path.json" ## your path variable json.dump(b, codecs.open(file_path, 'w', encoding='utf-8'), separators=(',', ':'), sort_keys=True, indent=4) ### this saves the array in .json format</code>
Untuk "menyahjsonify" tatasusunan, anda boleh menggunakan kod berikut:
<code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read() b_new = json.loads(obj_text) a_new = np.array(b_new)</code>
Atas ialah kandungan terperinci Bagaimana untuk Mensirikan Array NumPy ke JSON dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!