python实现class对象转换成json/字典的方法
发布时间:2020-05-24 00:28:54 所属栏目:Python 来源:互联网
导读:本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:
|
本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:
# -*- encoding: UTF-8 -*-
class Student:
name = ''
age = 0
def __init__(self,name,age):
self.name = name
self.age = age
def convert_to_dict(obj):
'''把Object对象转换成Dict对象'''
dict = {}
dict.update(obj.__dict__)
return dict
def convert_to_dicts(objs):
'''把对象列表转换为字典列表'''
obj_arr = []
for o in objs:
#把Object对象转换成Dict对象
dict = {}
dict.update(o.__dict__)
obj_arr.append(dict)
return obj_arr
def class_to_dict(obj):
'''把对象(支持单个对象、list、set)转换成字典'''
is_list = obj.__class__ == [].__class__
is_set = obj.__class__ == set().__class__
if is_list or is_set:
obj_arr = []
for o in obj:
#把Object对象转换成Dict对象
dict = {}
dict.update(o.__dict__)
obj_arr.append(dict)
return obj_arr
else:
dict = {}
dict.update(obj.__dict__)
return dict
stu = Student('zhangsan',20)
print '-----------'
print convert_to_dict(stu)
print '-----------'
print convert_to_dicts([stu,stu])
print '-----------'
print class_to_dict(stu)
print '-----------'
print class_to_dict([stu,stu])
stua = Student('zhangsan',20)
stub = Student('lisi',10)
stu_set = set()
stu_set.add(stua)
stu_set.add(stub)
print class_to_dict(stu_set)
运行结果如下:
-----------
{'age': 20,'name': 'zhangsan'}
-----------
[{'age': 20,'name': 'zhangsan'},{'age': 20,'name': 'zhangsan'}]
-----------
{'age': 20,'name': 'zhangsan'}]
[{'age': 10,'name': 'lisi'},'name': 'zhangsan'}]
希望本文所述对大家Python程序设计有所帮助。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
