python实现class对象转换成json/字典的方法
本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:
#-*-encoding:UTF-8-*- classStudent: name='' age=0 def__init__(self,name,age): self.name=name self.age=age defconvert_to_dict(obj): '''把Object对象转换成Dict对象''' dict={} dict.update(obj.__dict__) returndict defconvert_to_dicts(objs): '''把对象列表转换为字典列表''' obj_arr=[] foroinobjs: #把Object对象转换成Dict对象 dict={} dict.update(o.__dict__) obj_arr.append(dict) returnobj_arr defclass_to_dict(obj): '''把对象(支持单个对象、list、set)转换成字典''' is_list=obj.__class__==[].__class__ is_set=obj.__class__==set().__class__ ifis_listoris_set: obj_arr=[] foroinobj: #把Object对象转换成Dict对象 dict={} dict.update(o.__dict__) obj_arr.append(dict) returnobj_arr else: dict={} dict.update(obj.__dict__) returndict stu=Student('zhangsan',20) print'-----------' printconvert_to_dict(stu) print'-----------' printconvert_to_dicts([stu,stu]) print'-----------' printclass_to_dict(stu) print'-----------' printclass_to_dict([stu,stu]) stua=Student('zhangsan',20) stub=Student('lisi',10) stu_set=set() stu_set.add(stua) stu_set.add(stub) printclass_to_dict(stu_set)
运行结果如下:
----------- {'age':20,'name':'zhangsan'} ----------- [{'age':20,'name':'zhangsan'},{'age':20,'name':'zhangsan'}] ----------- {'age':20,'name':'zhangsan'} ----------- [{'age':20,'name':'zhangsan'},{'age':20,'name':'zhangsan'}] [{'age':10,'name':'lisi'},{'age':20,'name':'zhangsan'}]
希望本文所述对大家Python程序设计有所帮助。