详解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 相关文章推荐
新页面打开实际尺寸的图片
Aug 25 Javascript
将函数的实际参数转换成数组的方法
Jan 25 Javascript
javascript 控制input只允许输入的各种指定内容
Jun 19 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
element上传组件循环引用及简单时间倒计时的实现
Oct 01 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
前端Electron新手入门教程详解
Jun 21 Javascript
JS数组方法reduce的用法实例分析
Mar 03 Javascript
Element Notification通知的实现示例
Jul 27 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
新52大事件
2020/03/03 欧美动漫
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
React父子组件间的传值的方法
2018/11/13 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python使用turtle库绘制时钟
2020/03/25 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
大学生毕业求职的自我评价
2013/09/29 职场文书
施工资料员岗位职责
2014/01/06 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫