【前端】Bad control character in string literal in JSON解决方案(详解),JSON.parse(str)/Uncaught SyntaxEr报错解决方法。

问题描述

let text = '{"fail_station": "FSW_WELDING_DRY_2\r\n","fail_resourceid": "200118223\r\n","fail_timestamp": "2022-12-17"}'

JSON.parse(text)

JSON.parse(str) 报错:Uncaught SyntaxError: Bad control character in string literal in JSON at position


原因分析:

JSON.parse()方法将有效的 JSON 字符串数据转换为 JavaScript 对象
内部不能包含转义字符。


解决方案:

方法一:将JSON转为JS对象前,先处理字符串

let text = '{"fail_station": "FSW_WELDING_DRY_2\r\n","fail_resourceid": "200118223\r\n","fail_timestamp": "2022-12-17"}'
text = text.replace(/[\r|\n|\t]/g,"")
JSON.parse(text)

text = text.replace(/[\r|\n|\t]/g,“”)

这句把\r,\n,\t 都替换为空。

方法二:数据库中更改数据

因为我们这个是自己的数据库,输入的数据不该出现\r\n,所以直接对数据库数据进行修改。

-- 查询在yTable表里yColumn列里有\r\n的数据:
SELECT * FROM yTable WHERE yColumn LIKE CONCAT('%',CHAR(13),CHAR(10),'%')

-- 把yTable表里yColumn列里\r\n替换为空:
UPDATE yTable
SET yColumn = REPLACE(yColumn, CHAR(13) + CHAR(10), '') 
WHERE 
yColumn LIKE CONCAT('%',CHAR(13),CHAR(10),'%')

相关知识:

JSON.parse() 详细教程:https://www.runoob.com/json/json-parse.html

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: “bad escape character ygen” 的意思是“无效的转义字符 ygen”。这通常是在编程中出现的错误,表示使用了不被支持或不正确的转义字符。需要检查代码中的转义字符是否正确,并进行修正。 ### 回答2: "Bad escape character ygen" 这个错误通常是因为在代码或命令中使用了不被识别的转义字符而导致的。转义字符是一种特殊的字符,在代码和命令中用来表示一些特殊的字符或符号。但有些转义字符是不能被某些解释器、编译器或操作系统识别的,因此可能会报"bad escape character"的错误。 举例来说,如果你在代码中想要输出引号,通常要用到转移字符'\', 表示这个引号不是字符串的结束符,而是一个字符。如果你的代码里面用了一个不被识别的转义字符,例如 "ygen",编译器就无法识别这个字符,就会报错"bad escape character ygen"。 要解决这个问题,我们需要检查代码里面有没有用到不被识别的转义字符。可以使用文本编辑器的查找功能,找出所有的 "\" 字符,并检查其后面是否跟着合法的转义字符或符号。如果找到了一个不被识别的字符,可以将其删除或替换为一个合法的字符即可。 此外,也可以通过查看错误信息的上下文来确定问题所在。通常错误信息会给出报错的文件和行号,可以直接定位到报错的代码行,并对其进行检查和修改。 总的来说,"bad escape character ygen" 是一种比较常见的编程错误,但只要仔细检查代码和命令,找出不被识别的转义字符,并做出相应的修改,就可以轻松解决。 ### 回答3: bad escape character ygen是Python中常见的语法错误,通常意味着在代码中使用了无效的转义字符。在Python中,转义字符使用反斜杠(\)进行表示,它可以将特殊的字符序列转换成文本字符串中的普通字符。例如,在字符串中使用反斜杠加“n”可以表示换行,使用反斜杠加“t”可以表示制表符。 当使用错误的转义字符时,Python解释器将无法识别该字符,并在代码中报告bad escape character ygen的错误。这个错误通常表明有一个字符是无效的,并且需要进行更正。 在修复这个错误时,你应该注意以下几点: 1. 查找代码中的转义字符:查看代码并查找是否存在违规的转义字符,这可能在注释、字符串或正则表达式中出现。 2. 检查反斜杠:确保所有反斜杠都成对出现,如果反斜杠没有正确出现,则可能会导致语法错误。 3. 使用原始字符串:使用原始字符串可以忽略转义字符的影响,这样可以避免bad escape character ygen的错误。在字符串之前加上字符“r”即可得到原始字符串。例如,使用r'\n'表示换行符而不是'\n'。 4. 使用转义字符顺序:确保正确使用转义字符序列,例如“\\n”,其中第一个反斜杠用于转义第二个反斜杠,第二个反斜杠后面跟着字母“n”,表示换行符。 总之,bad escape character ygen错误通常是由于Python代码中使用无效的转义字符导致的,我们可以通过查找、检查反斜杠、使用原始字符串或正确使用转义字符序列来修复该错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值