[問題] json.JSONEncoder 與 dict

作者: eight0 (欸XD)   2015-06-07 20:00:04
各位晚安
小弟我想把一些 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. 還有其它比較建議的解決辦法嗎?
作者: uranusjr (←這人是超級笨蛋)   2015-06-07 23:17:00
1. 對 2. 沒有建議解法, 只能自己轉或重寫一個

Links booklink

Contact Us: admin [ a t ] ucptt.com