要检查JSON的嵌套列表中是否存在某个key,可以使用递归函数来遍历JSON对象的所有层级。以下是一个Python示例代码,展示了如何实现这一功能:
import json
def check_key_in_nested_list(json_data, key_to_check):
if isinstance(json_data, dict):
for key, value in json_data.items():
if key == key_to_check:
return True
if check_key_in_nested_list(value, key_to_check):
return True
elif isinstance(json_data, list):
for item in json_data:
if check_key_in_nested_list(item, key_to_check):
return True
return False
# 示例JSON数据
json_str = '''
{
"name": "John",
"age": 30,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
],
"houses": [
{"city": "New York", "zipcode": "10001"},
{"city": "Los Angeles", "zipcode": "90001"}
]
}
'''
# 将JSON字符串转换为Python对象
json_data = json.loads(json_str)
# 检查是否存在key "zipcode"
key_to_check = "zipcode"
result = check_key_in_nested_list(json_data, key_to_check)
print(f"Key '{key_to_check}' exists: {result}")
check_key_in_nested_list
:json_data
(要检查的JSON数据)和key_to_check
(要查找的key)。json_data
是字典,函数会遍历字典中的每个键值对。如果当前键等于key_to_check
,则返回True
。否则,递归检查值部分。json_data
是列表,函数会遍历列表中的每个元素,并对每个元素递归调用自身。check_key_in_nested_list
函数检查是否存在key "zipcode"
,并打印结果。通过这种方法,你可以有效地检查嵌套列表中是否存在特定的key。
领取专属 10元无门槛券
手把手带您无忧上云