特殊字符以前都是禁止页面输入,这样就简单不容易出错,但最近需求要求能输入特殊字符
整理出java返回json时特殊字符的转义(不转义会破坏json数据格式导致页面读取数据出错)
public static String string2Json(String s) { StringBuffer sb = new StringBuffer (); for (int i=0; i<s.length(); i++) { char c = s.charAt(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: sb.append(c); } } return sb.toString(); }
javascript版(有时页面显示发现少了一部分,很有可能要对特殊字符转义下)
function string2Json(s) { var newstr = ""; for (var i=0; i<s.length; i++) { c = s.charAt(i); switch (c) { case '\"': newstr+="\\\""; break; case '\\': newstr+="\\\\"; break; case '/': newstr+="\\/"; break; case '\b': newstr+="\\b"; break; case '\f': newstr+="\\f"; break; case '\n': newstr+="\\n"; break; case '\r': newstr+="\\r"; break; case '\t': newstr+="\\t"; break; default: newstr+=c; } } return newstr; }