JSON现在是很常见的处理数据的方式了,但是在使用JSON的时候,有些特殊字符会让我们得到非预期的结果。JSon数据中常见的特殊字符有:引号,正斜杠,反斜杠,换行符号等。下面介绍JSON中的特殊字符该如何去掉的方法
使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错。这个时候,就需要将JSON中的特殊字符过滤掉。
用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。
1 ///2 /// 过滤特殊字符 3 /// 4 /// 5 ///6 private static string String2Json(String s) 7 { 8 StringBuilder sb = new StringBuilder(); 9 for (int i = 0; i < s.Length; i++)10 {11 char c = s.ToCharArray()[i];12 switch (c)13 {14 case '\"':15 sb.Append("\\\""); break;16 case '\\':17 sb.Append("\\\\"); break;18 case '/':19 sb.Append("\\/"); break;20 case '\b':21 sb.Append("\\b"); break;22 case '\f':23 sb.Append("\\f"); break;24 case '\n':25 sb.Append("\\n"); break;26 case '\r':27 sb.Append("\\r"); break;28 case '\t':29 sb.Append("\\t"); break;30 default:31 if ((c >= 0 && c <= 31)||c ==127)//在ASCⅡ码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符32 {33 //TODO34 } 35 else36 {37 sb.Append(c);38 }39 break;40 }41 }42 return sb.ToString();43 }44 45