python 字典转成对象

database = {
        "key1": {
            'period':999,
            "data": {
                'a':1,
                'b':2,
            }
        },
        "key2": {
            'period':1199,
            "data": {
                'a':11,
                'b':21,
            }
        },

    }

class Dict(dict):
    __setattr__ = dict.__setitem__
    __getattr__ = dict.__getitem__

def dict_to_object(dictObj):
    if not isinstance(dictObj, dict):
        return dictObj
    inst=Dict()
    for k,v in dictObj.items():
        inst[k] = dict_to_object(v)
    return inst
# 转换字典成为对象,可以用"."方式访问对象属性
res = dict_to_object(database)
print(res.key1)
print(res.key1.period)
print(res.key1.data.a)

{'period': 999, 'data': {'a': 1, 'b': 2}}
999
1

  

发布了69 篇原创文章 · 获赞 2 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/hq8399/article/details/104140768