我正在尝试解析来自 youtube api 的 json 响应数据,但我不断收到错误。
这是令人窒息的片段:
data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")
..这发生了:
JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23)
我已经确认它是有效的 json,并且我无法控制它的格式,那么我怎样才能克服这个错误?
在“””之前需要一个
r
,或者将所有\
替换为\\
。这不是从其他地方读取json时应该关心的事情,而是字符串本身中的事情。
data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")
请参阅此处了解更多信息
您需要在 json 字符串之前添加
r
。
>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }'
>>> data = json.loads(st)
>>>
如果字符串是变量,我该如何处理这种情况?