使用Python合并JSON记录

时间:2017-03-29 02:36:01

标签: python json

我有一个巨大的json文件,如下所示,

{"id": "KA88457","name": "Steven", "phone":"+6590876589"},
{"id": "KA88457", "fax": ["+6563323248"], "email":"steve@alexandra.com"}

我需要合并两者并获得所需的结果

{"id": "KA88457",
 "name": "Steven", 
 "phone":"+6590876589", 
 "fax":["+6563323248"], 
 "email":"steve@alexandra.com"}

我在网上查了但是我发现只能在python中合并两个json文件。你能帮忙用python合并这些类型的记录。

2 个答案:

答案 0 :(得分:0)

假设您知道如何将字符串从json转换为python字典对象(请参阅json模块),您可以按照您描述的方式“合并”它们,具体如下:

objOne = {"id": "KA88457","name": "Steven", "phone":"+6590876589"}
objTwo = {"id": "KA88457", "fax": ["+6563323248"], "email":"steve@alexandra.com"}

for key in objOne:
    objTwo[key] = objOne[key]

这应该采用objOne的所有属性并将它们添加到objTwo。

答案 1 :(得分:0)

Python词典有一个.update()方法,也可以用于你的情况。它用于更新原始字典以包含第二个字典中的更改或添加。

first_dict={"id": "KA88457","name": "Steven", "phone":"+6590876589"}
second_dict={"id": "KA88457", "fax": ["+6563323248"], "email":"steve@alexandra.com"}
first_dict.update(second_dict)
print(first_dict)

输出:

{'id': 'KA88457', 'name': 'Steven', 'phone': '+6590876589', 'fax': ['+6563323248'], 'email': 'steve@alexandra.com'}