I have a method that checks a JSON payload for JSON decoding errors, and KeyErrors. For some reason, the except statement with the KeyError is getting called, but then shows there was in fact, no KeyError as the object is None. Here is the code:
try:
test_data = simplejson.loads(self.raw_data) # Loads the data in a dict to test for the right fields
test_data["test"]
except simplejson.decoder.JSONDecodeError as jsonErr:
print 'JSON Malform Error: ', jsonErr
pass
return False
except KeyError as keyErr:
print 'JSON Validation Error: ', keyErr
pass
The KeyError is probably raised by
simplejson.loadsand the offending key may really beNone. Not enough context to say more. If you give the traceback as asked, it will help greatly.