在json模块有2个方法,
- loads():将json数据转化成dict数据
- dumps():将dict数据转化成json数据
- load():读取json文件数据,转成dict数据
- dump():将dict数据转化成json数据后写入json文件
# -*- encoding: UTF-8 -*-
class Student:
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=[]
foroin objs:
#把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_listor is_set:
obj_arr=[]
foroin obj:
#把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)