2016-12-25 6 views
0

を働いていない:Obvisouly私は私のクラスのために登録している必要があり、特別なハンドラがありjsonpickleサブクラスは、私が間違っているのは何

class A(collections.OrderedDict): 
    def __init__(self,*largs,**kwargs): 
     super(A,self).__init__(*largs,**kwargs); 
    def __reduce__(self): 
     return super(A,self).__reduce__() 

dt = collections.OrderedDict([(1,3),(34,2)]) # pickles fine 
d=A([(1,3),(34,2)])       # pickles fine 

js=pickle.dumps([d,dt]) 
print(js) 
temp = pickle.loads(js) 
print(temp) 

# but it does not jsonpickle.decode ???? 
js=jsonpickle.encode(d) 
print(js) 
temp = jsonpickle.decode(js) 
print(temp) 
+0

'' print(jsonpickle.util.has_reduce(d)) ''は ''(False、False)を返します ''なぜですか?それは減少している? – Gabriel

答えて

0

jsonpickle.handlers.register(A, handlers.OrderedDictReduceHandler)

が、それは

の作品
関連する問題