最近在用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)
轉自:https://www.cnblogs.com/hahaweixiaohenqingcheng/p/6062961.html