详解json串反转义(消除反斜杠)


Posted in Javascript onAugust 12, 2019

JSon串在被串行化后保存在文件中,读取字符串时,是不能直接拿来用JSON.parse()解析为JSON  对象的。因为它是一个字符串,不是一个合法的JSON对象格式。例如下面的JSON串保存在文件中,读出来不能直接解析:

“{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}"

这个串如果出现在代码中是没有问题的,因为反斜杠就表示转义,但如果从文本文件中直接读出来就是这个样子,则不能直接用JSON.parse()进行解析,需要反串行化,消除掉反斜杠。有些programmer喜欢自己写一个工具类来做这样的事情,但已经有方便快捷的工具类可以来做这件事情,毋需我们重复发明车轮子。

可以直接使用Apache 的 common.lang工具包(使用工具类:org.apache.commons.lang.StringEscapeUtils)。例子如下:

public void test(){
 String str1 = "{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}";
 String tmp = StringEscapeUtils.unescapeJavaScript(str1);
 System.out.println("tmp:" + tmp);
 }

输出:

tmp:{"resourceId":"51ad70e41c5c11e88514000c290cdcfa","properties":{"process_id":"process4","name":"","documentation":"","processformtemplate":""}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript window对象属性整理
Oct 24 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
快速学习AngularJs HTTP响应拦截器
Dec 31 Javascript
AngularJS 2.0新特性有哪些
Feb 18 Javascript
AngularJs  Creating Services详解及示例代码
Sep 02 Javascript
详解js中call与apply关键字的作用
Nov 21 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
Apr 17 Javascript
jQuery实现列表的增加和删除功能
Jun 14 jQuery
JavaScript实现简单验证码
Aug 24 Javascript
json 带斜杠时如何解析的实现
Aug 12 #Javascript
electron实现静默打印的示例代码
Aug 12 #Javascript
微信小程序 弹窗输入组件的实现解析
Aug 12 #Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 #Javascript
ElementUI radio组件选中小改造
Aug 12 #Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 #Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 #Javascript
You might like
javascript 对象比较实现代码
2009/04/27 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
详解Nodejs之npm&package.json
2017/06/15 NodeJs
jQuery plugin animsition使用小结
2017/09/14 jQuery
Angular5.1新功能分享
2017/12/21 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python提取log文件内容并画出图表
2019/07/08 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
python银行系统实现源码
2019/10/25 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
英国复古服装购物网站:Collectif
2019/10/30 全球购物
养殖项目策划书范文
2014/01/13 职场文书
写给老师的表扬信
2014/01/21 职场文书
检查接待方案
2014/02/27 职场文书
教师见习报告范文
2014/11/03 职场文书
会议欢迎词
2015/01/23 职场文书
企业法人代表证明书
2015/06/18 职场文书
无故旷工检讨书
2015/08/15 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Python django中如何使用restful框架
2021/06/23 Python