首页  >  文章  >  后端开发  >  如何在 Python 中将 NumPy 数组序列化为 JSON?

如何在 Python 中将 NumPy 数组序列化为 JSON?

Linda Hamilton
Linda Hamilton原创
2024-11-03 14:18:03724浏览

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