详解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 相关文章推荐
Exitjs获取DataView中图片文件名
Nov 26 Javascript
深入学习JavaScript中的Rest参数和参数默认值
Jul 28 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
May 21 Javascript
jQuery ztree实现动态树形多选菜单
Aug 12 Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 Javascript
JS实现简易留言板特效
Dec 23 Javascript
微信小程序scroll-view不能左右滑动问题的解决方法
Jul 09 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
php数组中删除元素的实现代码
2012/06/22 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
轻松创建nodejs服务器(9):实现非阻塞操作
2014/12/18 NodeJs
window.onerror()的用法与实例分析
2016/01/27 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
django 模版关闭转义方式
2020/05/14 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
师范毕业生自我鉴定
2014/01/15 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
文明村镇申报材料
2014/05/06 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
暑期教师培训方案
2014/06/07 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
离婚代理词范文
2015/05/23 职场文书
读书笔记格式
2015/07/02 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android