C#去掉json字符串中的换行符

【出错状况】

从数据库中返回json格式的数据,但由于数据库中的数据中有换行符,导致返回的json数据错误。

【原因分析】

用for循环语句来分析出错字段字符串中每个字符的ASCII码,可以看出存在值分别为13、10的两个字符,造成换行,导致json格式出错。

           char tempstring = '\n';   (10)

          char tempstring = '\r;   (13)
            int tempresult=(int)tempstring;
            Response.Write(tempresult);

【解决方法】

用C#中string的replace函数替换掉这两个字符,下面是部分代码供参考。

  private string cleanString(string newStr)
        {
            string tempStr = newStr.Replace((char)13, (char)0);
            return tempStr.Replace((char)10, (char)0);
        }

 string temp = cleanString(vUserAdvisory.AdvisoryContent);

 

遗憾的是这种办法解决不了各个浏览器的兼容性,

后来这个方法可以去除:

char[] strArr =str.ToCharArray();
string newStr = "";
foreach (char cr in strArr)
{
if (cr == (char)10)
{
continue;
}

if(cr==(char)13)

{

 continue;

}

newStr += cr.ToString();
}
posted @ 2013-06-06 11:18  郭二的  阅读(4653)  评论(0编辑  收藏  举报