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

Java代码

 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();
}

JS代码

 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;
}

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

最新文章

  1. Unity的旋转-四元数,欧拉角用法简介
  2. 26数据查询的各种小玩法-select 下(必学)-天轰穿sqlserver视频教程
  3. 完美串(区间dp)
  4. Send Mail using C# code
  5. tar备份工具
  6. Genymotion——PC上也能玩部落冲突 Clash of Clans
  7. usb 设备的端点 及输入输出方向
  8. 状压dp-poj-1170-Shopping Offers
  9. Android 实时文件夹
  10. Meta标签中的format-detection属性及含义让IPHONE的数字可以改变颜色
  11. 导入csv文件到数据库
  12. MyEclipse2014web工程项目直接复制不能访问报错处理方案
  13. Python学习_07_错误、异常
  14. Zuul之Filter详解
  15. 如何解决一个从SkylineGlobe5版本升级到7版本遇到的小问题
  16. Notepad++编译和运行C语言 (GCC)
  17. js数组的实例方法sort() 排序方法的运用,不再只是.sort()
  18. solr学习(六):使用自定义int/long类型主键
  19. 关于openwrt使用web升级提示固件版本不对的处理方法
  20. Data Guard Wait Events

热门文章

  1. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)
  2. C++ Primer : 第十三章 : 动态内存管理类
  3. position置顶或某固定位置 兼容ie6ie7
  4. Javascript 中的 &amp;&amp; 和 || 使用小结
  5. JQUERY添加、删除元素、eq()方法;
  6. Alpha版本项目展示
  7. HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
  8. MySql取得日期(前一天、某一天)
  9. java mvc web 项目web.xml头改错了,死活加载不上springMvc的jar
  10. session与cookie的区别---