Python JSON错误

Python JSON错误,python,json,python-requests,Python,Json,Python Requests,我正在尝试编写用于检查JSON请求的自动化测试。因此,当我运行以下代码时,我得到了一个回溯错误: json1=query_link1.json json2 = json.loads(json1) 例外情况: Traceback (most recent call last): File "Productapicheck.py", line 45, in <module> query_product_api() File "Productapicheck.py", l

我正在尝试编写用于检查JSON请求的自动化测试。因此,当我运行以下代码时,我得到了一个回溯错误:

json1=query_link1.json
json2 = json.loads(json1)
例外情况:

Traceback (most recent call last):
  File "Productapicheck.py", line 45, in <module>
    query_product_api()
  File "Productapicheck.py", line 34, in query_product_api
    json2 = json.loads(json1)
  File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
如果query_link1.json是类似文件的对象,则需要使用json.load函数

.loads和s的结尾要求传入字符串,而query_link1.json不是字符串


如果您使用的是请求库,则不需要解码响应上的.json值,当您访问该属性时,库会自动解码该值。

什么是query\u link1.json?它不是字符串或缓冲区。是档案吗?这个问题无法回答。什么是查询链接1?您需要提供更多信息。在没有背景的情况下转储代码对任何人都没有帮助。嗨,当我使用json.load函数时,我得到了一个diff错误,现在可以回溯上一次调用:文件Productapicheck.py,第45行,在query\u product\u api文件Productapicheck.py中,第34行,在query\u product\u api json2=json.loadjson1文件/usr/lib/python2.6/json/\uu init\uu.py,第264行,在load return loadsfp.read中,AttributeError:'dict'对象没有属性'read'@user1121120:对,所以现在我们终于有了一些信息。json已经从json格式解码。所以@Martijn Pieters,这是否意味着我不必执行第二条语句json2=json.loadsjson1?谢谢@Martijn Pieters。我这样做是因为,当我试图从json1文件中查找特定的json值时,遇到了定义json标记之类的错误。如何删除此错误?@user1120:如果检索到的请求不是JSON编码的,则访问响应的.JSON属性将引发错误。修复这种情况下的响应。