特殊字符以前都是禁止页面输入,这样就简单不容易出错,但最近需求要求能输入特殊字符
整理出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;
}

本文介绍如何在Java和JavaScript中处理特殊字符以确保JSON数据格式正确无误。通过手动转义特殊字符来避免JSON解析错误。
387

被折叠的 条评论
为什么被折叠?



