JSON 序列化NumPy 陣列
當網頁載入過程中遇到錯誤「array is not JSON serialabilable」時,這表示NumPy Django 上下文變數中的陣列無法轉換為JSON 格式。 JSON(JavaScript Object Notation)是一種用於資料交換的通用資料格式,它要求資料具有特定的結構。另一方面,NumPy 數組具有更複雜的結構,無法直接序列化為 JSON。
要解決此問題,您可以在 NumPy 陣列上使用「.tolist()」方法。此方法將數組轉換為巢狀列表,然後可以將其序列化為 JSON。這是一個範例:
<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>
要「unjsonify」數組,您可以使用以下程式碼:
<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>
以上是如何在 Python 中將 NumPy 陣列序列化為 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!