有效的 JSON 给出 JSONDecodeError: Expecting , delimiter

问题描述 投票:0回答:3

我正在尝试解析来自 youtube api 的 json 响应数据,但我不断收到错误。

这是令人窒息的片段:

data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

..这发生了:

JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)

我已经确认它是有效的 json,并且我无法控制它的格式,那么我怎样才能克服这个错误?

python json escaping rawstring
3个回答
96
投票

在“””之前需要一个

r
,或者将所有
\
替换为
\\
。这不是从其他地方读取json时应该关心的事情,而是字符串本身中的事情。

data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

请参阅此处了解更多信息


17
投票

您需要在 json 字符串之前添加

r

>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>

0
投票

如果字符串是变量,我该如何处理这种情况?

© www.soinside.com 2019 - 2024. All rights reserved.