有效的JSON导致JSONDecodeError:期待, 分隔符
我正在尝试解析来自YouTube API的json响应数据,但我一直遇到错误。
这是出错的代码片段:
data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")
..然后就出现了这个问题:
JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)
我已经确认它是有效的json格式,而且我无法控制它的格式,那我该怎么解决这个错误呢?
2 个回答
19
你需要在你的json字符串前面加上r
。
>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>
100
在字符串前面加一个 r
,或者把所有的 \
替换成 \\
。这点在你从其他地方读取 JSON 数据时不需要太在意,但如果字符串里面有这样的内容,就要注意了。
data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")
想了解更多信息,可以查看 这里。