import types
# 获取字典中的objkey对应的值,适用于字典嵌套
# dict:字典
# objkey:目标key
# default:找不到时返回的默认值
# PS:若嵌套的json或者list中有key名称相同,则只能获取到第一个key的值,故只能取第一个key做对比
def dict_get(dict, objkey, default=None):
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
elif type(v) is types.ListType:
for val in v:
ret = dict_get(val, objkey, default)
if ret is not default:
return ret
return default
# 示例
dict01 = {"a": "aa", "b": [{"b": "cc", "d": "dd"}, {"f": {"e": "ee"}}]}
print dict_get(dict01, "b")
# 输出