gpt4 book ai didi

python - 从 API 访问 JSON 数据

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:12 37 4
gpt4 key购买 nike

我正在尝试编写一个脚本来从 API 下载图像,我设置了一个循环,如下所示:

    response = requests.get(url, params=query)
json_data = json.dumps(response.text)
pythonVal = json.loads(json.loads(json_data))
print(pythonVal)

print(pythonVal) 返回:

 {
"metadata": {
"code": 200,
"message": "OK",
"version": "v2.0"
},
"data": {
"_links": {
"self": {
"href": "redactedLink"
}
},
"id": "123456789",
"_fixed": true
,
"type": "IMAGE",
"source": "social media",
"source_id": "1234567890_1234567890",
"original_source": "link",
"caption": "caption",
"video_url": null,
"share_url": "link",
"date_submitted": "2016-07-11T09:34:35+00:00",
"date_published": "2016-09-11T16:30:26+00:00",

我不断收到错误消息:

UnicodeEncodeError: 'ascii' codec can't encode character '\xc4' in
position 527: ordinal not in range(128)

对于 pythonVal 变量,如果我将其设置为 json.loads(json_data),它会打印出 JSON 响应,但是当我尝试执行 pythonVal['data' 时] 我收到另一个错误:

TypeError: string indices must be integers

最终我希望能够通过执行类似的操作来从中获取数据

 pythonVal['data']['_embedded']['uploader']['username'] 

感谢您的投入!

最佳答案

为什么要执行两次json.loads()?变化:

json.loads(json.loads(json_data))

至:

json.loads(json_data)

它应该可以工作。

现在,由于您在执行 pythonVal['data'] 时收到错误 TypeError: stringindexs Must be integers ,这意味着 pythonVal< 的值list 类型,而不是 dict 类型。相反,请执行以下操作:

for item in pythonVal:
print item

如果您需要其他人更好的帮助,请同时提及问题中的示例 JSON 内容:)

关于python - 从 API 访问 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904546/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com