JSON現在是很常見的處理數據的方式了,但是在使用JSON的時候,有些特殊字符會讓我們得到非預期的結果。JSon數據中常見的特殊字符有:引號,正斜杠,反斜杠,換行符號等。下面介紹JSON中的特殊字符該如何去掉的方法
使用JSON從后台向前台傳輸數據的時候,當數據本身含有一些特殊字符,會導致JSON數據的解析出錯。這個時候,就需要將JSON中的特殊字符過濾掉。
用下面的方法對即將向前台輸出的json字符串進行處理,可以解決鍵盤上能輸入的所有特殊字符問題。
1 /// <summary> 2 /// 過濾特殊字符 3 /// </summary> 4 /// <param name="s"></param> 5 /// <returns></returns> 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 //TODO 34 } 35 else 36 { 37 sb.Append(c); 38 } 39 break; 40 } 41 } 42 return sb.ToString(); 43 } 44 45