代码如下
def get_valuelist_by_key(cls, json_data, find_key):
"""根据find_key查询json_data中所有的value 返回所有满足条件的列表--深度遍历
:param json_data: 匹配的json字符串,json_data必须为dict或者list
:param find_key: key名
:return: 多个匹配值
"""
values_list = []
def get_value_list(json, key):
nonlocal values_list
if isinstance(json, dict):
for item, values in json.items():
if str(item) == str(key):
values_list.append(str(json.get(item)))
if isinstance(values, dict):
get_value_list(values, key=key)
if isinstance(values, list):
get_value_list(values, key=key)
else:
pass
elif isinstance(json, list):
for data in json:
if isinstance(data, dict):
get_value_list(data, key)
else:
return []
return values_list
return get_value_list(json=json_data, key=find_key)
测试结果:


本文介绍了如何使用Python3处理复杂数据结构,通过key名称精确提取所有匹配的value值。通过示例代码和测试结果,展示了具体的操作步骤和方法。
最低0.47元/天 解锁文章
896

被折叠的 条评论
为什么被折叠?



