python dict 转 object

有时候会遇到问题,就是数据格式问题,需要把dict的数据格式转为object格式进行访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def obj_dic(d):
top = type('new', (object,), d)
seqs = tuple, list, set, frozenset
for i, j in d.items():
if isinstance(j, dict):
setattr(top, i, obj_dic(j))
elif isinstance(j, seqs):
setattr(top, i,
type(j)(obj_dic(sj) if isinstance(sj, dict) else sj for sj in j))
else:
setattr(top, i, j)
return top
或者
def obj_dic(d):
top = type('new', (object,), d)
setattr(top, d.keys()[0], d.get(d.keys()[0]))
return top
或者
def convert_to_dict(obj):
dic = {}
dic.update(obj.__dict__)
return dic