繁体   English   中英

如何在python中合并多个json

[英]How to merge multiple json in python

我有一个包含多个json字符串的列表

a = [{"name": "Alex"},{"Age": 25},{"Address": "16, Mount View"}]

我想将它们合并成这样的单个数组

a = [{"name": "Alex","Age": 25,"Address": "16, Mount View"}]

我试过使用jsonmerge但是使用head' and base`值时运气不好。

有人可以帮我这个忙吗?

我也经历了一个类似的问题在堆栈中,但它显示了合并为单独的json,但列表中没有json 如何合并两个json

首先,这些是python字典

[{"name": "Alex"},{"Age": 25},{"Address": "16, Mount View"}]

您可以在它们上调用json.dumps并将它们转换为“ json字符串”。

2,可以使用dict更新方法

a =  [{"name": "Alex"},{"Age": 25},{"Address": "16, Mount View"}]
d = {}
for small_dict in a:
    d.update(small_dict)
print(d) # Yay!
a = [d]

被警告! ,如果您有重复的键,它们将互相覆盖

也看看“ ChainMap”

https://docs.python.org/3/library/collections.html#collections.ChainMap

要添加到@yoav glazner的答案中,如果您使用的是Python 3.3+,则可以使用ChainMap

>>> from collections import ChainMap
>>> a = [{"name": "Alex"},{"Age": 25},{"Address": "16, Mount View"}]
>>> dict(ChainMap(*a))
{'name': 'Alex', 'Age': 25, 'Address': '16, Mount View'}

在此处查看有关ChainMap用例的更多信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM