Python - 将两个列表合并为一个 json 对象

Cod*_*ker 2 python json list python-3.x

我有一个 Python 执行程序,它可以处理 2 个函数get_tech_courses()get_music_courses()返回单个列表;分别为 1 和 2。

清单 1。

[
{'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 
{'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'}
]
Run Code Online (Sandbox Code Playgroud)

清单 2。

[
{'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 
{'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'}
]
Run Code Online (Sandbox Code Playgroud)

我想将两个列表组合在一个绑定在父级下的 json 数组中,courses如下所示:

{"courses":
[{'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 

{'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'},

{'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 

{'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'}]
}
Run Code Online (Sandbox Code Playgroud)


这不是打印正确的 json。

from concurrent.futures import ThreadPoolExecutor

import tech_course
import music_course
import json

courses = []

with ThreadPoolExecutor(max_workers=2) as executor:
    courses.append(executor.submit(tech_course.get_tech_course).result())
    courses.append(executor.submit(music_course.get_music_course).result())

print(json.dumps(courses))
Run Code Online (Sandbox Code Playgroud)

ett*_*any 6

请尝试以下操作:

import json

list_1 = [
    {'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 
    {'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'}]

list_2 = [
    {'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 
    {'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'}]

res_dict = {"courses": list_1 + list_2 }

to_json = json.dumps(res_dict)
Run Code Online (Sandbox Code Playgroud)

输出:

>>> to_json
'{"courses": [{"downloads": "4", "views": "88", "title": "THE COMPLETE PYTHON WEB COURSE"}, {"downloads": "16", "views": "156", "title": "THE COMPLETE JAVA WEB COURSE"}, {"downloads": "18", "views": "125", "title": "THE COMPLETE GUITAR COURSE"}, {"downloads": "63", "views": "98", "title": "THE COMPLETE KEYBOARD COURSE"}]}'
Run Code Online (Sandbox Code Playgroud)