python – 嵌套类的JSON(de)序列化

python – 嵌套类的JSON(de)序列化,第1张

概述X是一个包含3个字段的简单类: 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): X是一个包含3个字段的简单类:

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)序列化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存