gpt4 book ai didi

python - 使用 Python 请求和错误代码解析 JSON 数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:28:22 26 4
gpt4 key购买 nike

我正在尝试解析 JSON 数组,但是遇到了一些问题。这是我当前的代码:

from django.http import HttpResponse
import json, requests
platformUrl = 'https://www.igbd.com/api/v1/platforms'
platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token="1234"'})
platformData = json.loads(platformReq)#json.loads(platformReq.text)
platformList = data['platforms']

print platformList

示例输出为:

{"platforms":[{"id":32,"name":"Sega Saturn","slug":"saturn"},{"id":14,"name":"Mac","slug":"mac"},{"id":47,"name":"Virtual Console (Nintendo)","slug":"vc"}

我收到错误:

expected string or buffer

当我使用此代码时,它可以工作,但输出是错误的,并且它不适用于数组:

from django.http import HttpResponse
import json, requests

platformUrl = 'https://www.igdb.com/api/v1/platforms'
platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token=1234"'})
platformData = platformReq.json()

print platformData

这是该代码的输出:

{u'platforms': [{u'slug': u'saturn', u'id': 32, u'name': u'Sega Saturn'}, {u'slug': u'mac', u'id': 14, u'name': u'Mac'}, {u'slug': u'vc', u'id': 47, u'name': u'Virtual Console (Nintendo)'}

额外问题:我将如何处理请求的错误?例如:200 - 一切都很好,401 - 无效 key ,等等......

如有任何帮助,我们将不胜感激。

最佳答案

这是因为你在json.loads中传递了一个request对象

在错误中它说它需要一个字符串或缓冲区。您可以通过执行以下操作从请求中传递字符串:

json.loads(platformReq.text)

但是platformReq.json()的工作方式是一样的!

希望有帮助。

编辑

回答您的状态代码问题(抱歉之前没有看到)。您可以像这样检查响应状态代码:

if platformReq.status_code == requests.codes.ok:
# Print the response
print platformReq.json()
else:
print "Something went wrong";

关于python - 使用 Python 请求和错误代码解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32259051/

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