特殊字符导致json字符串转换成json对象出错


在对数据库取出来的数据(特别是描写叙述信息)里面含有特殊字符的话。使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引號,回车换行等影响明显,左尖括号和右尖括号也会导致显示问题,所以要在输出到页面进行json对象转换之前将一些特殊符合进行编码或转义,以下展示的是C#代码编码和转义几个经常使用特殊字符。经过笔者測试,将这些符号编码和转义之后,大部分json字符串都能够转换成json对象了。假设遇到个别问题,应朝着这个方向去查找问题。

            theString = theString.Replace(">", ">");
            theString = theString.Replace("<", "&lt;");
            theString = theString.Replace(" ", "&nbsp;");
            theString = theString.Replace("\"", "&quot;");
            theString = theString.Replace("\'", "&#39;");
            theString = theString.Replace("\\", "\\\\");//对斜线的转义
            theString = theString.Replace("\n", "\\n");
            theString = theString.Replace("\r", "\\r");

注意:\r是回到行首。\n是新启一行,这两个一般同一时候出现,应该同一时候处理。


补充:文字中间的换行,空格在数据库里面不以\r\n,&nbsp;;等形式显示出来(“本书”与“前80”之间换行。“由”与“曹雪芹”之间空格)

文字:


数据库:



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM