我正在通过API请求下载json。
问题是这些请求中的一些请求什么都不返回(无),然后显示错误消息,循环停止。
这是错误消息:
raise JSONDecodeError("Expecting value", s, err.value) from None JSONDecodeError: Expecting value
这是一个小例子:
pessoa_file = open('pessoa_file.txt', 'a', encoding='utf-8') for x in range(n_pessoas): pessoa = jsonresponse['Pessoa'][x] response_pessoa = requests.get(pessoa) pessoa_data = json.loads(response_pessoa.text) pessoa_file.write(pessoa_data)
我想知道如何忽略错误或写点东西。我对python不太熟悉,但是我知道R。我认为它应该类似于try()
或tryCatch()
有两种方法可以处理此问题。第一种是通过检查您要调用的值是否json.loads
为None
,如下所示:
if response_pessoa.text is not None: pessoa_data = json.loads(response_pessoa.text) pessoa_file.write(pessoa_data)
或者您可以将代码的这一部分包装在try / except块中,如下所示:
try: pessoa_data = json.loads(response_pessoa.text) pessoa_file.write(pessoa_data) except JSONDecodeError: continue