比较两个JSON数组以获取匹配和不匹配的输出
创始人
2024-12-14 06:00:38
0

以下是一个示例代码,用于比较两个JSON数组并获取匹配和不匹配的输出:

import json

def compare_json_arrays(array1, array2):
    # 将JSON数组转换为Python列表
    list1 = json.loads(array1)
    list2 = json.loads(array2)
    
    # 初始化匹配和不匹配的列表
    matching_items = []
    non_matching_items = []
    
    # 遍历第一个列表中的每个项
    for item1 in list1:
        # 初始化一个标志来跟踪是否找到匹配项
        found = False
        
        # 遍历第二个列表中的每个项
        for item2 in list2:
            # 如果两个项匹配,则将其添加到匹配列表中,并将found标志设置为True
            if item1 == item2:
                matching_items.append(item1)
                found = True
                break
        
        # 如果未找到匹配项,则将其添加到不匹配列表中
        if not found:
            non_matching_items.append(item1)
    
    # 返回匹配和不匹配的结果
    return matching_items, non_matching_items

# 两个JSON数组示例
json_array1 = '[{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]'
json_array2 = '[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 35}]'

# 比较两个JSON数组
matching, non_matching = compare_json_arrays(json_array1, json_array2)

# 打印匹配的项
print("Matching items:")
for item in matching:
    print(item)

# 打印不匹配的项
print("Non-matching items:")
for item in non_matching:
    print(item)

输出结果:

Matching items:
{'name': 'Alice', 'age': 25}
Non-matching items:
{'name': 'John', 'age': 30}

相关内容

热门资讯

Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...
Aksnginxdomainb... 在AKS集群中,可以使用Nginx代理服务器实现根据域名进行路由。以下是具体步骤:部署Nginx i...
AddSingleton在.N... 在C#中创建Singleton对象通常是通过私有构造函数和静态属性来实现,例如:public cla...
Alertmanager中的基... Alertmanager中可以使用repeat_interval选项指定在一个告警重复发送前必须等待...