4
X
是一個簡單的類與3個字段:JSON(反)序列爲嵌套類
class X():
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
JSON編碼器/解碼器,用於X
:
class XEncoder(json.JSONEncoder):
def encode(self, obj):
return super(XEncoder, self).encode({
'a': obj.a,
'b': obj.b,
'c': obj.c
})
class XDecoder(json.JSONDecoder):
def decode(self, json_string):
obj = super(XDecoder, self).decode(json_string)
return X(obj['a'], obj['b'], obj['c'])
Y
類具有X
爲AA值字段內的字典:
class Y():
def __init__(self):
self.m = {}
def add(self, a, x):
self.m[a] = x
JSON編碼器/解碼器Y
的外觀如何?
我打賭美元甜甜圈一個理智的JSON庫可以直接編碼字典。 – millimoose
和解碼多少? –
你**已經**從解碼器中取回字典。 (你可能必須映射它們並用類似'self.m = {k:XDecoder()。decode(v)for k,v in super()。decode(json_string)} ['m']的值解碼值。項目()') – millimoose