Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免JSONDECODEROR?_Json_Python 3.x_Dictionary - Fatal编程技术网

如何避免JSONDECODEROR?

如何避免JSONDECODEROR?,json,python-3.x,dictionary,Json,Python 3.x,Dictionary,我有一个POST请求,它返回一个JSON。如果用户正在搜索不存在的内容,则JSON为空。如何避免错误消息并打印类似“无结果”的内容 错误消息: File "/usr/lib/python3.7/json/__init__.py", line 348, in loads return _default_decoder.decode(s) File "/usr/lib/python3.7/json/decoder.py", line 337, in

我有一个POST请求,它返回一个JSON。如果用户正在搜索不存在的内容,则JSON为空。如何避免错误消息并打印类似“无结果”的内容

错误消息:

File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)   File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())   File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
代码://它运行良好,除非返回的JSON为空//

导入请求
导入json
从私人进口有效载荷,标准
r=请求。会话()
url\u登录名https://somesite.com/login.php'
url\u搜索=https://somesite.com/data.php?jsons=true'
req1=r.post(url\U登录,数据=有效负载)
req2=r.post(url\u搜索,数据=criterias)
data=json.loads(req2.text)
release='release\u name'
对于在数据['results']中发布:
打印(发布['release_name']

你问过如何避免
JSONDecodeError
。答案是抓住它

导入请求
导入json
从私人进口有效载荷,标准
r=请求。会话()
url\u登录名https://somesite.com/login.php'
url\u搜索=https://somesite.com/data.php?jsons=true'
req1=r.post(url\U登录,数据=有效负载)
req2=r.post(url\u搜索,数据=criterias)
尝试:
data=json.loads(req2.text)
release='release\u name'
对于在数据['results']中发布:
打印(release['release_name'])#您的代码没有右括号
除了ValueError作为e:#捕获子类JSONDecodeError
打印(“无结果”)
打印(f“req.text={req.text}”)
打印(e)

请显示代码添加了代码@MikeSlinnThanks。请显示
req2.text
的值。我相信它没有您希望的值。事实上它有。正如我提到的,它是一个JSON文件,具有dict类型。还有键和值。问题是是否有空的JSON(用户输入了不存在的内容)然后我收到了错误。我想打印“无结果”,而不是错误。非常感谢!我正在寻找这个!