使用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; }
下载说明
☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,
☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!
☉唯一站长QQ:1004003180 [人格担保-本站注重诚信!]
☉购买建议E-mail:1004003180@qq.com 源码收购 E-mail:1004003180@qq.com
☉本站文件解压密码 【文章内都自带解压密码,每个密码不同!】