问题描述
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,所以直接对数据库数据进行修改。文章来源:https://www.toymoban.com/news/detail-500728.html
-- 查询在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文章来源地址https://www.toymoban.com/news/detail-500728.html
到了这里,关于【前端】Bad control character in string literal in JSON解决方案(详解),JSON.parse(str)/Uncaught SyntaxEr报错解决方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!