【问题标题】:How to convert Instagram API response to Python 3 dictionary?如何将 Instagram API 响应转换为 Python 3 字典?
【发布时间】:2015-02-20 03:58:39
【问题描述】:

我正在使用 Python 3 使用以下代码从 Instagram API 获取响应

 instagramJSON = xRequest(nextUrl)
 print (instagramJSON)
 instagramDict = json.load(instagramJSON)

xRequest 方法从 Instagram API URL 获取响应,当我打印对象时,它看起来像一个合法的 JSON 对象,但是当我对其执行 json.load 方法时,我收到以下错误 AttributeError: 'bytes' object has no attribute 'read'

相同的代码适用于 Python 2 ,我尝试搜索 Python 3 的 Python 文档,但没有运气。谁能帮我解决这个问题?

非常感谢!

【问题讨论】:

  • 你也可以使用python-requests,它内置了对JSON的支持,只需在响应对象上调用.json()
  • 感谢安德烈的提示,我试过了,效果很好。

标签: python json python-3.x instagram


【解决方案1】:

如果instagramJSONstr,那么您应该使用json.loads 而不是json.load。如果instagramJSON 是一个字符串,那么它会在 Python 2 中引发相同的异常,因此可能会发生更多情况。

Python JSON documentation

如果它是由urllib.request 生成的响应,那么this question 的最佳答案可能是相关的。

【讨论】:

  • 感谢您指出这一点。但即使我用json.loads 运行它,我也会得到TypeError: the JSON object must be str, not 'bytes'
猜你喜欢
  • 2022-11-30
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-13
相关资源
最近更新 更多