各位晚安
小弟我想把一些 pickle 档案转成 json,
其中有一些 hash table,想把 key 拿掉,转成 list。如
{
"key001": {
"key": 1,
...
},
"key002": {
"key": 2,
...
},
...
}
=>
[
{
"key": 1,
...
},
{
"key": 2,
...
},
...
]
我原本以为设 JSONEncoder 就能解决
class Encoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, dict) and check_key_prop(obj):
return list(obj.values())
return super().default(obj)
但完全没有作用,只有 unserializable 的物件才会传给 Encoder
不知道是不是我漏看了哪些参数
1. 原本官方设定就是这样吗?Encoder 只在不能 serialize 时才工作?
2. 还有其它比较建议的解决办法吗?