json 特殊字符 javascript 特殊字符处理(转载)

特殊字符以前都是禁止页面输入,这样就简单不容易出错,但最近需求要求能输入特殊字符
整理出java返回json时特殊字符的转义(不转义会破坏json数据格式导致页面读取数据出错)

Java代码

 1 public static String string2Json(String s) {     
 2         StringBuffer sb = new StringBuffer ();     
 3         for (int i=0; i<s.length(); i++) {     
 4 
 5             char c = s.charAt(i);     
 6             switch (c) {     
 7                 case '"':     
 8                     sb.append("\"");     
 9                     break;     
10                 case '\':     
11                     sb.append("\\");     
12                     break;     
13                 case '/':     
14                     sb.append("\/");     
15                     break;     
16                 case '':     
17                     sb.append("\b");     
18                     break;     
19                 case 'f':     
20                     sb.append("\f");     
21                     break;     
22                 case '
':     
23                     sb.append("\n");     
24                     break;     
25                 case '
':     
26                     sb.append("\r");     
27                     break;     
28                 case '	':     
29                     sb.append("\t");     
30                     break;     
31                 default:     
32                     sb.append(c);     
33             }
34        }
35        return sb.toString();     
36     }  

JS代码

 1 function string2Json(s) {   
 2     var newstr = "";
 3     for (var i=0; i<s.length; i++) {
 4         c = s.charAt(i);     
 5         switch (c) {     
 6             case '"':     
 7                 newstr+="\"";     
 8                 break;     
 9             case '\':     
10                 newstr+="\\";     
11                 break;     
12             case '/':     
13                 newstr+="\/";     
14                 break;     
15             case '':     
16                 newstr+="\b";     
17                 break;     
18             case 'f':     
19                 newstr+="\f";     
20                 break;     
21             case '
':     
22                 newstr+="\n";     
23                 break;     
24             case '
':     
25                 newstr+="\r";     
26                 break;     
27             case '	':     
28                 newstr+="\t";     
29                 break;     
30             default:     
31                 newstr+=c;     
32         }
33    }
34    return newstr;     
35 }

 转载地址:http://longsan.iteye.com/blog/1576498

原文地址:https://www.cnblogs.com/yinliang/p/5413329.html