JSONDecodeError(“期望值”,s,err.value)从无

时间:2020-11-11 18:31:31

标签: python json

我正在尝试从pokeapi获取一些信息,但是当搜索某些神奇宝贝的形式时,我一直收到JSONDecodeError。当我搜索charmander时,它可以工作,但是当我搜索pidgey时,它却不能。 这是代码:

pokename = input('Digite o nome do Pokémon que você deseja consultar: ')

formas = requests.get(f'https://pokeapi.co/api/v2/pokemon-form/{pokename}/')
forms_data = formas.json()

这是错误:

Digite o nome do Pokémon que você deseja consultar: pidgey
Traceback (most recent call last):
File "c:/Users/perei/Evylla/DEV/python/pokemons.py", line 14, in <module>
status_data = status.json()
File "C:\Users\perei\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\models.py", 
line 898, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\perei\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 357, in 
loads
return _default_decoder.decode(s)
File "C:\Users\perei\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 337, in 
decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\perei\AppData\Local\Programs\Python\Python38-32\lib\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)

1 个答案:

答案 0 :(得分:0)

问题可能出在您的输入pokename上。对于格式错误的pokename

,该API可能返回404

尝试以下代码。

import requests

#replace xx by bulbasaur and the code will print JSON.
k = requests.get('https://pokeapi.co/api/v2/pokemon-form/xx') 
if k.status_code == 200:
    print(k.json())
else:
    print("error",k.status_code)