1
由於Python3中對dict.values()和keys()的更改,我遇到了一些麻煩。專門用python編寫JSON對象3
我的舊代碼是這樣的:Python的
import json
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, complex):
return [obj.real, obj.imag]
return json.JSONEncoder.default(self, obj)
a = { '1' : 2 + 1j, '2' : 4 + 2j }
print(json.dumps(a.values(), cls=ComplexEncoder))
這3.3+引發異常:
TypeError: dict_values([(2+1j), (4+2j)]) is not JSON serializable
簡單的解決方法是做list(a.values())
,對我的問題是,我在代碼中有很多像這樣的實例。有沒有辦法擴展ComplexEncoder以迭代 視圖?