Parsuję dane JSON. Nie mam problemu z parsowaniem i używam modułu simplejson
. Jednak niektóre żądania API zwracają pustą wartość. Oto mój przykład:Python: Handle JSON Decode Error, gdy nic nie wróciło
{
"all" : {
"count" : 0,
"questions" : [ ]
}
}
Jest to segment mojego kodu, gdzie I analizować obiekt json:
qByUser = byUsrUrlObj.read()
qUserData = json.loads(qByUser).decode('utf-8')
questionSubjs = qUserData["all"]["questions"]
Jak już wspomniano w przypadku niektórych wniosków pojawia się następujący błąd:
Traceback (most recent call last):
File "YahooQueryData.py", line 164, in <module>
qUserData = json.loads(qByUser)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/simplejson/__init__.py", line 385, in loads
return _default_decoder.decode(s)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/simplejson/decoder.py", line 402, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/simplejson/decoder.py", line 420, in raw_decode
raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)
Jaki byłby najlepszy sposób na obsłużenie tego błędu?
Właściwie, jakie jest twoje pytanie? – Tadeck
Odpowiedziałeś na pytania;) Wygląda na to, że przedkładam pytanie, zanim naprawdę wpiszesz pytanie. Dziękuję za odpowiedź. –
OK, cieszę się, że pomogłem - wygląda teraz jak telepatia;) Dzięki, że włączyłeś to pytanie. Powodzenia! – Tadeck