码迷,mamicode.com
首页 > Web开发 > 详细

JSON中的特殊字符

时间:2015-07-20 19:10:44      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

 使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错。这个时候,就需要将JSON中的特殊字符过滤掉。

 

用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题


                  /**//// <summary>  
    /// 过滤特殊字符  
    /// </summary>  
    /// <param name="s"></param>  
    /// <returns></returns>  
    private static string String2Json(String s)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.Length; i++)
        {
            char c = s.ToCharArray()[i];
            switch (c)
            {
                case \":
                    sb.Append("\\\""); break;
                case \\:
                    sb.Append("\\\\"); break;
                case /:
                    sb.Append("\\/"); break;
                case \b:
                    sb.Append("\\b"); break;
                case \f:
                    sb.Append("\\f"); break;
                case \n:
                    sb.Append("\\n"); break;
                case \r:
                    sb.Append("\\r"); break;
                case \t:
                    sb.Append("\\t"); break;
                default:
                    if ((c >= 0 && c <= 31)||c ==127)//在ASCⅡ码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符
                    {


                    }                  
                    else
                    {
                        sb.Append(c);
                    }
                    break;
            }
        }
        return sb.ToString();
    }

        

 

/// <summary>

         ///   替换部分字符串

         /// </summary>

         /// <param name="sPassed">需要替换的字符串</param>

         /// <returns></returns>

         private static string ReplaceString(string sContent)

         {

             if (sContent == null) { return sContent; }

             if (sContent.Contains("\\"))

             {

                 sContent = sContent.Replace("\\", "\\\\");

             }

             if (sContent.Contains("\‘"))

             {

                 sContent = sContent.Replace("\‘", "\\\‘");

             }

             if (sContent.Contains("\""))

             {

                 sContent = sContent.Replace("\"", "\\\"");

             }

             //去掉字符串的回车换行符

             sContent = Regex.Replace(sContent, @"[\n\r]", "");

             sContent = sContent.Trim();

             return sContent;

         }

 

JSON中的特殊字符

标签:

原文地址:http://www.cnblogs.com/xuxiaoshuan/p/4661742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!