Python字典嵌套字典的情况下获取某个key的value-演道网

最近在用Python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个程序。

#coding: utf-8
import types

#获取字典中的objkey对应的值,适用于字典嵌套
#dict:字典
#objkey:目标key
#default:找不到时返回的默认值
def dict_get(dict, objkey, default):
    tmp = dict
    for k,v in tmp.items():
        if k == objkey:
            return v
        else:
            if type(v) is types.DictType:
                ret = dict_get(v, objkey, default)
                if ret is not default:
                    return ret
    return default

#如
dicttest={“result”:{“code”:”110002″,”msg”:”设备设备序列号或验证码错误”}}
ret=dict_get(dicttest, ‘msg’, None)
print(ret)

转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn