You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSON解析报错修复:含转义字符的JSON输入解析问题

解决JSON转义字符解析错误的方案

问题根源

你这段JSON里的转义存在非法项:JSON规范仅允许对特定字符(比如双引号"、反斜杠\、换行符等)进行转义,而input isn't valid里的\'(单引号前的反斜杠)属于违规转义,这才是json.loads()报错Invalid \escape的核心原因。你之前全局替换所有反斜杠,把合法的\"也改成了空格,导致字符串里的双引号直接暴露,触发了新的语法错误。

两种可行修复方案

方案1:精准修复非法转义

只把非法的\'替换成',保留合法的\"转义,既解决非法转义问题,又不会破坏字符串里的双引号包裹:

import json

# 你的原始JSON内容
content = '''{"invalid-input": "input isn't valid",
"enable-notifs": "\"Facebook\" would like to send notifs"}'''

# 仅处理单引号前的非法反斜杠
fixed_content = content.replace("\\'", "'")
# 正常解析
parsed_data = json.loads(fixed_content)
print(parsed_data)

运行后会输出正确解析结果:

{'invalid-input': "input isn't valid", 'enable-notifs': '"Facebook" would like to send notifs'}

方案2:用容错库解析复杂不规范JSON

如果你的JSON还有其他各种不规范格式问题,不想手动逐个修复,可以用demjson这类支持容错解析的第三方库,它能自动兼容很多不符合标准的JSON写法:

import demjson

content = '''{"invalid-input": "input isn't valid",
"enable-notifs": "\"Facebook\" would like to send notifs"}'''

# 容错解析
parsed_data = demjson.decode(content)
print(parsed_data)

使用前需要先安装库:pip install demjson

重要提示

  • JSON里单引号不需要转义,只有双引号、反斜杠本身等字符才需要转义,遇到\'直接去掉反斜杠即可。
  • 绝对不要全局替换所有反斜杠,会把合法的转义结构彻底破坏,引发更多错误。

内容的提问来源于stack exchange,提问作者Karthika Menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:07:22