首頁  >  文章  >  後端開發  >  如何在 Python 中將 NumPy 陣列序列化為 JSON?

如何在 Python 中將 NumPy 陣列序列化為 JSON?

Linda Hamilton
Linda Hamilton原創
2024-11-03 14:18:03727瀏覽

How to Serialize NumPy Arrays to JSON in Python?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn