我有一些代码可以解析可能是也可能不是有效的 JSON 字符串。我想在except
子句中捕捉到这个异常:
ValueError: Extra data: line 1 column 1 - line 1 column 19 (char 1 - 19)
但不是这个例外:
ValueError: Expecting : delimiter: line 1 column 3 (char 3)
我会将它编码为这个的变体:
try:
json.loads(user_sting)
except ValueError as e:
# How to parse 'e' now?
handle_error(e)
或者作为这个的变体:
try:
json.loads(user_sting)
except ValueError['Extra data'] as e:
handle_error(e)
我所做的区别在于两个:
字符之间的“额外数据”或“期望”字符串。我确实认为我可以使用第一种方法和正则表达式来解析str(e)
,但如果有更直接的方法,那么我想知道。作为Python,我怀疑有!