来自 python 中字符串的字典,用于 Facebook 广告 api

dictionary from string in python for facebook ads api

我正在尝试获取 Facebook 的洞察数据。下面的代码之前是 运行 但现在开始崩溃了。

代码:

async_job = {
    "id": "169817458353501",
    "report_run_id": "169817458353501",
}
results = []
for item in async_job:
    print(item, type(item), async_job)
    data = dict(item)
    results.append(data)

错误:

data = dict(item)
ValueError: dictionary update sequence element #0 has length 1; 2 is required

我也尝试使用 JSON 模块,但似乎仍然无法正常工作。

import json    
async_job = {
    "id": "169817458353501",
    "report_run_id": "169817458353501",
}
results = []
for item in async_job:
    print(item, type(item), async_job)
    data = json.loads(item)
    results.append(data)

任何线索都会有所帮助。

您正在迭代 dict keys,

每次迭代只有一个值。

dict 至少需要一对键值对。

也许您希望遍历 dict items(即键值对):

async_job = {
    "id": "169817458353501",
    "report_run_id": "169817458353501",
}
results = []
for key, value in async_job.items():
    data = {key: value}
    results.append(data)

或者你可以使用理解:

results = [{key: value} for key, value in async_job.items()]