使用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 = ; 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 >= && c <= )||c ==)//在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;

         }

最新文章

  1. C# HttpWebRequest获取COOKIES
  2. VS 调试
  3. WPF学习(一)--布局控件简介
  4. shell学习笔记(2)替换命令&#183;&#183;与()的区别
  5. 微信JS-SDK]微信公众号JS开发之卡券领取功能详解
  6. C#学习笔记4:关键词大小写、复合格式化等
  7. 【GPS】 数据围栏
  8. Android关闭系统锁屏
  9. 开发solr功能问题点
  10. Linq To sql入门练习 Lambda表达式基础
  11. 手动启动Android模拟器
  12. Mac, Linux中配置Latex中文字体
  13. 全站 HTTPS 没你想象的那么简单
  14. GooglePlay - 排行榜及支付接入
  15. TensorFlow中的通信机制——Rendezvous(一)本地传输
  16. 1768:最大子矩阵(NOIP2014初赛最后一题)
  17. Spring MVC Interceptor
  18. java程序员学习路线图 java程序员进阶路线
  19. hdu 3264 09 宁波 现场 E - Open-air shopping malls 计算几何 二分 圆相交面积 难度:1
  20. RobotFramework做接口自动化(post请求)

热门文章

  1. C#使用IHttpModule接口修改http输出的方法浅谈
  2. ubuntu环境下docker安装步骤
  3. reshape2 数据操作 数据融合 (melt)
  4. ESFramework 4.0 进阶(01)-- 消息
  5. OMCS开发手册(04) -- 二次开发流程
  6. LeetCode OJ 78. Subsets
  7. poj 1411 Calling Extraterrestrial Intelligence Again
  8. matlab mse函数
  9. js上拉跳转原理
  10. Linux手动搭建LAMP环境