Uncaught SyntaxError: Bad control character in string literal in JSON at position

在后台模板页面中,有一段JSON字符串数据需要前端jsJSON解析,前端在做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不要使用'"把后台的模板变量包裹起来.