【发布时间】:2022-11-04 19:25:31
【问题描述】:
在 Python3 中,我正在执行一个 GET 请求以接收带有重复项的非常长的 JSON 响应。 整个响应输出存储到一个全局变量中,如下所示:
def get_users():
url = "https://blablabla/api/users"
headers = {"Authorization": accessToken, "Content-Type": "application/json", "Accept": "application/json"}
r = requests.get(url, headers=headers)
r_dict = r.json()
return r_dict
get_user_function = get_users()
回复:
[
{
"created": "2021-01-1 09:02:35.112 +0000 UTC",
"id": "123456",
"clientID": "client_client",
"name": "name_name",
"old": true,
"config": {
"config_option_1": false,
"config_option_2": true,
"config_option_3": false,
"config_option_4": false,
"config_option_5": false,
"config_option_6": false,
"config_option_7": false,
"config_option_8": "123",
"config_option_9": "456",
"config_option_10": "",
"config_option_11": {},
"config_option_12": {
"config_option_12.1": {
"config_option_12.1.1": true,
"config_option_12.1.2": true,
"config_option_12.1.3": false,
"config_option_12.1.4": true,
"config_option_12.1.5": false,
"config_option_12.1.6": false,
"config_option_12.1.7": false,
"config_option_12.1.8": false
}}}}]
这大约是第一个响应项目的一半,整个响应对象包含数千个这些项目。 现在我想创建一个字典并用给定列表中的几个项目填充它。
关于如何访问更深的嵌套项目(如 e)的任何想法或改进。 G。项目["config"]["config_option_12"]["config_option_12.1"]["cofnig_option_12.1.1"]?
到目前为止,我有这个:
my_dict = {item["name"]: [item["id"], item["created"], item["config"]["config_option_12"]] for item in get_user_function}
print(my_dict)
在这里,我正在努力访问“config”的子项。 “Config_option_1 - 11”工作得非常好,但“config_option_12”并进一步推出KeyError:“config_option_12”。
【问题讨论】:
标签: python-3.x dictionary for-loop nested-lists