有效JSON给出JSONDecodeError:期望,分隔符

时间:2012-02-06 06:34:04

标签: python json

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

以下是窒息的片段:

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

..而且这种情况发生了:

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

我已经确认它是有效的json,我无法控制它的格式,所以我怎样才能解决这个错误?

2 个答案:

答案 0 :(得分:29)

你需要在{“之前”r,或用\替换所有\\。当你从其他地方读取json时,这不是你应该关心的事情,但是字符串中的东西。

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

有关详细信息,请参阅here

答案 1 :(得分:5)

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

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