在python中把两个json数组合并成一个数组

1 人不认可

我有多个json文件,包含一个json数组对象,格式如下。

"appId": "1", "userName": "zrqxnav2ktobg5ph4y6inxm4t22oqxnj", "appManagerError": { "errorCode": "", "errorMsg": "" "endpoints": [ "path": "unknown"

我想把所有的json文件[以相同的格式]合并到一个文件中。 "appId": "1", "userName": "zrqxnav2ktobg5ph4y6inxm4t22oqxnj", "appManagerError": { "errorCode": "", "errorMsg": "" "endpoints": [ "path": "unknown" "appId": "2", "userName": "zrjsjdsj34sdkjskt22oqxnj", "appManagerError": { "errorCode": "", "errorMsg": "" "endpoints": [ "path": "known"

幸运的是,我能够使用jq在shell中完成这个工作。

 cat temp1.json temp2.json | jq -s add > temp.json || exit $?

但我在python中找不到类似的东西。

1 个评论
python
json
python-3.x
Rajiv Rai
Rajiv Rai
发布于 2020-09-02
2 个回答
Xeyes
Xeyes
发布于 2020-09-02
0 人赞同

你可以使用以下代码,假设 json_list 是一个包含所有你的字符串化json文件的列表

from itertools import chain
import json
dictios = list()
for e in json_list:
    dictios.append(json.loads(e))
merged =  json.dumps(dict(chain.from_iterable(d.items() for d in dictios)))

替换代码2】将包含一个字符串化的json,它是你之前所有json文件的融合。

Adirio
Adirio
发布于 2020-09-02
0 人赞同
import json
content = []
filenames = ['temp1.json', 'temp2.json']
for filename in filenames: