我正在尝试解析来自youtube api的json响应数据,但我一直收到错误。
以下是窒息的片段:
data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")
..而且这种情况发生了:
JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)
我已经确认它是有效的json,我无法控制它的格式,所以我怎样才能解决这个错误?
答案 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)
>>>