首页 > 解决方案 > 使用 Python 解析 JSON 时出现异常

问题描述

我正在为此苦苦挣扎,但我不知道是哪个问题。我也尝试过使用.encode('unicode_escape')它作为原始字符串,但仍然无法正常工作。

json.loads('{"src":"https://media1.giphy.com/media/deDsaGovR3BMiNh45V/giphy.gif?cid=da5535431178774e95701d0ab60d607f894576a24782a98d&rid=giphy.gif","extraInfo":"{"digsrc":"giphy","digsrc_url":"https://giphy.com/gifs/disenchantment-animation-netflix-deDsaGovR3BMiNh45V"}"}')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\neiu\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\neiu\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\neiu\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 152 (char 151)```

标签: pythonjson

解决方案


JSON 格式不正确,您有"extraInfo":"{". 这不是有效的 JSON。最后你还有}"}另一个格式错误。正确的字符串是:

json.loads('{"src":"https://media1.giphy.com/media/deDsaGovR3BMiNh45V/giphy.gif?cid=da5535431178774e95701d0ab60d607f894576a24782a98d&rid=giphy.gif","extraInfo":{"digsrc":"giphy","digsrc_url":"https://giphy.com/gifs/disenchantment-animation-netflix-deDsaGovR3BMiNh45V"}}')

在以下位置进行测试:https ://jsonlint.com/


推荐阅读