问题:在oracle数据库直接使用sql语句查询能查出数据,但是程序运行后,页面数据却不显示,且eclipse控制台日志不报错。
排查:通过firefox的F12进行页面调试时:网络-->响应 追寻出错误:
SyntaxError:JSON.parse:bad escaped character at line 1 column 568 of the JSON data
如下图所示:
在仔细查看和对比后,发现数据库中某条数据值中含有反斜杠“\”(如:测试\数据)
实验:
1、去掉数据库中该数据值中的“\”后,页面显示正常,进行页面调试结果如下:
2、数据值中添加“\\”的情况下,页面显示就成了“测试\数据”,即转义成“\”显示。
3、而用“/”或者“//”测试,页面显示为“测试/数据”和“测试//数据”。
总结:“\”代表转义,数据库的值中尽量不要使用反斜杠“\”,不然当数据从后台传送到页面的过程中需要转化成JSON格式时,就会出现转换失败的错误。如果真需要在页面显示出反斜杠的话,可以使用“\\”。
来源:oschina
链接:https://my.oschina.net/u/2634462/blog/628539