python - 使用 Json.dumps 使用带有 ndarray 的字典序列化类
问题描述
我有一个用 json 序列化的类对象。以下代码序列化该类,如果没有 ndarray 成员,它可以正常工作。但是,如果我在类中包含 ndarray,我会收到错误,因为 ndarry 需要转换为列表以进行序列化,如此处所述。
我有一堂课如下:
class foo_datastructure():
def __init__(self):
self.a=0
self.b=0
self.c=[]
self.array_dictinary= {}
列表和变量工作正常,但字典部分给出了 ndarray 问题。字典属于以下类型:
self.array_dict[key]={'x':[],'y':[],'z':[]}
现在我想保留我的代码如下转换类:
def toJSON(self):
return json.dumps(self, default=lambda o: o.__dict__,
sort_keys=True, indent=4)
并将其解码为:
received = (json.loads(Obj, object_hook=lambda d: namedtuple('X', d.keys())(*d.values())))
我怎样才能改变default=lambda o: o.__dict__
它也解释了带有数组的字典?
解决方案
推荐阅读
- python-3.x - 使用 all() 或 any() 的 python 嵌套列表理解
- python - 如何修复“ pip install pygame ”?
- sqlite - Microsoft Azure App 服务:无法写入 sqlite 数据库
- c++ - 如何更改数组中 2 个对象的顺序?
- c++ - CascadeClassifier 未定义
- swift - Swift 中具有新泛型类型的泛型类型扩展
- parse-platform - 云代码:当我们将参数传递给查询时,我们是否需要转义参数?
- google-apps-script - 在单元格值更改上自动化脚本
- c++ - 向量的地址代表什么?
- mysql - MariaDB 10.3 - 布尔搜索为 Innodb 和 MyISAM 返回不同的结果