在后台模板页面中,有一段JSON字符串
数据需要前端js
做JSON
解析,前端在做JSON.parse
时,出现错误:
Uncaught SyntaxError: Bad control character in string literal in JSON at position 90
at JSON.parse (<anonymous>)
...
这个功能在某些参数值传入时会出现,其他的又不会,对比两边数据后发现,出错的数据里面有个字段包含了换行符(\r\n
)导致,如果去掉换行符就可以正常解析了,但是不可能全部去掉换行符,一是麻烦,二是这会改变原文的段落结构,三是不符合现实需求.解决方法其实也很简单,在调用JSON.parse
之前,我们先对数据进行JSON.stringify
,这样就不会解析出错了.
最后有一点需要注意,JSON.stringify
中不要使用'
或"
把后台的模板变量包裹起来.