要遍历嵌套数组中的JSON,以查看所有值是否相等,可以使用递归的方法来实现。下面是一个示例代码:
def traverse_json(json_data):
# 检查是否为数组类型
if isinstance(json_data, list):
for item in json_data:
# 递归调用遍历函数
if not traverse_json(item):
return False
# 检查是否为字典类型
elif isinstance(json_data, dict):
for key, value in json_data.items():
# 递归调用遍历函数
if not traverse_json(value):
return False
# 检查是否为基本值类型
else:
# 检查值是否与第一个值相等
if json_data != json_data[0]:
return False
return True
# 示例数据
json_data = {
"key1": [1, 1, 1],
"key2": [1, 1, 1],
"key3": [1, 1, 1]
}
# 调用函数进行遍历
result = traverse_json(json_data)
# 输出结果
print(result)
在上面的代码中,我们定义了一个名为traverse_json
的函数,该函数接受一个JSON对象作为参数。函数首先判断JSON对象的类型,如果是数组类型,则对数组中的每个元素递归调用traverse_json
函数。如果是字典类型,则对字典的每个键值对递归调用traverse_json
函数。如果是基本值类型,则判断该值是否与数组中的第一个值相等,如果不相等,则返回False。最后,如果遍历过程中没有出现不相等的值,则返回True。
在示例中,我们定义了一个示例的JSON对象json_data
,然后调用traverse_json
函数对其进行遍历,并将结果打印出来。根据示例数据,所有的值都是相等的,所以输出结果为True。
上一篇:遍历嵌套数组以匹配ID