首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json.decoder.JSONDecodeError:无效\转义

json.decoder.JSONDecodeError:无效\转义
EN

Stack Overflow用户
提问于 2022-01-14 04:55:22
回答 1查看 1K关注 0票数 -1

我已经测试了是否可以加载JSON。

首先,导入内置的JSON模块。

代码语言:javascript
复制
Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from json import loads

然后,我尝试了下面所有的方法,但所有的方法都行不通。

代码语言:javascript
复制
>>> jsondata = """{
...     "robloxtypes": {"generic": "generic", "uwp": "uwp"},
...     "cursorfolder": ".\\content\\KeyboardMouse"
... }"""
>>> jsondatax = loads(jsondata)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 3 column 23 (char 81)
代码语言:javascript
复制
>>> jsondata = """{
...     "robloxtypes": {"generic": "generic", "uwp": "uwp"},
...     "cursorfolder": ".\content\KeyboardMouse"
... }"""
>>> jsondatax = loads(jsondata)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 3 column 23 (char 81)
代码语言:javascript
复制
>>> jsondata = """{
...     "robloxtypes": {"generic": "generic", "uwp": "uwp"},
...     "cursorfolder": r".\content\KeyboardMouse"
... }"""
>>> jsondatax = loads(jsondata)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 3 column 21 (char 79)
>>>

所以我想知道什么是错的,我应该做什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-14 08:03:06

由于要保留转义,需要使用前缀rR将字符串文字表示为原始字符串。

代码语言:javascript
复制
jsondata = r"""{
    "robloxtypes": {"generic": "generic", "uwp": "uwp"},
    "cursorfolder": ".\\content\\KeyboardMouse"
}"""
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70706161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档