我正在通过 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 block 中:
try:
pessoa_data = json.loads(response_pessoa.text)
pessoa_file.write(pessoa_data)
except JSONDecodeError:
continue
