如何使用python将多个json对象合并到一个json对象中

本问题已经有最佳答案,请猛点这里访问。

我有一个包含多个JSON对象的列表,我想把这些JSON对象合并成一个JSON对象,我尝试使用jsonmerge,但没有成功。

我的名单是:

1
t = [{'ComSMS': 'true'}, {'ComMail': 'true'}, {'PName': 'riyaas'}, {'phone': '1'}]

期望的输出是

1
t = [{'ComSMS': 'true', 'ComMail': 'true', 'PName': 'riyaas', 'phone': '1'}]

我将列表放入for循环并尝试json merge,结果得到错误head missing expected 2 arguments got 1

谁能帮我解决这个问题


你可以这样做,但不应该这样做。

1
2
3
>>> t = [{'ComSMS': 'true'}, {'ComMail': 'true'}, {'PName': 'riyaas'}, {'phone': '1'}]
>>> [{i:j for x in t for i,j in x.items()}]
[{'ComSMS': 'true', 'phone': '1', 'PName': 'riyaas', 'ComMail': 'true'}]


循环您的字典列表,并在本例中更新一个空字典z。

z.update(i): Get K:V from i(type : dict.) and add it in z.

t = [{'ComSMS': 'true'}, {'ComMail': 'true'}, {'PName': 'riyaas'}, {'phone': '1'}]
z = {}
In [13]: for i in t:
             z.update(i)
   ....:     

In [14]: z
Out[14]: {'ComMail': 'true', 'ComSMS': 'true', 'PName': 'riyaas', 'phone': '1'}