下面是一个使用Python的示例代码,用于比较两个JSON文件并在值匹配时创建一个新的键:
import json
def compare_json_files(file1, file2, output_file):
# 读取第一个JSON文件
with open(file1, 'r') as f1:
json1 = json.load(f1)
# 读取第二个JSON文件
with open(file2, 'r') as f2:
json2 = json.load(f2)
# 创建一个新的JSON对象,用于存储匹配的键值对
new_json = {}
# 遍历第一个JSON文件的键值对
for key1, value1 in json1.items():
# 遍历第二个JSON文件的键值对
for key2, value2 in json2.items():
# 如果值相等,则在新的JSON对象中创建一个新的键,键名为两个JSON文件的键名拼接起来
if value1 == value2:
new_key = key1 + "_" + key2
new_json[new_key] = value1
# 将新的JSON对象写入输出文件
with open(output_file, 'w') as f:
json.dump(new_json, f)
# 示例用法
compare_json_files('file1.json', 'file2.json', 'output.json')
上述代码中,我们首先使用json.load()
函数读取两个JSON文件的内容,并将其存储在json1
和json2
变量中。然后,我们创建一个新的JSON对象new_json
用于存储匹配的键值对。
接下来,我们使用嵌套的for
循环遍历两个JSON对象的键值对。如果两个值相等,则将新的键名创建为两个键名的拼接,并将该键值对添加到新的JSON对象中。
最后,我们使用json.dump()
函数将新的JSON对象写入输出文件。在本示例中,输出文件为output.json
。
请确保将示例代码中的文件路径替换为实际的文件路径,并根据需要进行修改以满足您的具体需求。