python 从多层字典嵌套中提取内容

import json
def check_key_dict_value(json_data,defalut_value,keys=[]):
    if not json_data: return defalut_value
    for key in keys:
        if key in json_data.keys():
            json_data = json_data[key]
        else:
            return defalut_value
    return json_data

json_data0={'key1':{'key2':{'key3':93,'key4':15}}}
result=check_key_dict_value(json_data0,defalut_value=0,keys=['key1','key2','key3'])


def check_key_dict_list_value(json_data,key):
    if isinstance(json_data, list):
        for i in json_data:
            if key in str(i): return check_key_dict_list_value(i,key=key)
    elif isinstance(json_data,dict):
        for k,v in json_data.items():
            if k == key:
                return v
            if key in str(v):
                return check_key_dict_list_value(v,key=key)
    else:
        try:
            return check_key_dict_list_value(json.loads(json_data),key=key)
        except:return

json_data1={'key1':{'key2':[{'key3':93,'key4':15}]}}

json_data1={'key1':{'key2':[{'key3':93,'key4':15}]}}
result1 = check_key_dict_list_value(json_data1,key='key4')
print(result1)


版权声明:本文为lwdfzr原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。