import json
result = []
def NBFS(dict_str:dict,target_list:[str]) -> [str]:
'''
输入dict类型的数据,已经对应的key,返回[str]
'''
x = ''
try:
for i in range(len(target_list)):
if isinstance(dict_str,dict):
if dict_str[target_list[i]]:
dict_str = dict_str[target_list[i]]
if i < len(target_list)-1:
target = target_list[i+1:]
else:
result.append(dict_str)
break
if dict_str:
x if NBFS(dict_str,target) else None
if x:
result.append(x)
break
else:
print('else!!',dict_str)
elif isinstance(dict_str,list):
for i in range(len(dict_str)):
if isinstance(dict_str,list):
dict_str_sub = dict_str[i]
x if NBFS(dict_str_sub,target_list) else None
if x:
result.append(x)
continue
else:
x if NBFS(dict_str,target_list) else None
if x:
result.append(x)
break
else:
pass
else:
pass
break
return result
except (IndexError,KeyError) :
pass
json_str ={"code":"200","data":{"fdd":2,"qq":{"fdadfafd":[{"a":[{"name":"qqq","sex":"女","ff":1}],"pp":1},{"a":[{"name":"力求","sex":"女2","a":2222}],'pp':"www"}],"pp":111},"pp":"wwfder"}}
# json_str ={"code":1,"data":{"fdd":2,"qq":{"fdadfafd":[{"a":[{"name":"qqq","sex":"女","ff":1}],"pp":132}],"pp":111}}}
# json_str = {"code":200,}
# print(json_str['data'])
x = NBFS(json_str,['code'])
print(x[0])
# print(NBFS(json_str,['data','qq','fdadfafd','a','sex']))