class X(): def __init__(self,a,b,c): self.a = a self.b = b self.c = c
用于X的JsON编码器/解码器:
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作为字段内的字典值:
class Y(): def __init__(self): self.m = {} def add(self,x): self.m[a] = x
YSON的JsON编码器/解码器怎么样?
解决方法class YEncoder(Json.JsONEncoder): def encode(self,obj): return Json.dumps({ 'm': Json.dumps({ k: Json.dumps(v,cls=XEncoder) for k,v in obj.m.items()})})class YDecoder(Json.JsONDecoder): def decode(self,Json_string): y.m = {k: Json.loads(v,cls=XDecoder) for k,v in Json.loads(Json.loads(Json_string)['m']).items()} return y总结
以上是内存溢出为你收集整理的python – 嵌套类的JSON(de)序列化全部内容,希望文章能够帮你解决python – 嵌套类的JSON(de)序列化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)