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中文网其他相关文章!