详解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版代码高亮
Jun 26 Javascript
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
jQuery学习笔记之jQuery的DOM操作
Dec 22 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
Dec 10 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
vue中倒计时组件的实例代码
Jul 06 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 Javascript
简单聊聊TypeScript只读修饰符
Apr 06 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下把数组保存为文件格式的实例应用
2010/02/08 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
降低PHP Redis内存占用
2017/03/23 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
新鲜出炉的js tips提示效果
2011/04/03 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
python解析html开发库pyquery使用方法
2014/02/07 Python
python中list循环语句用法实例
2014/11/10 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
教师业务培训方案
2014/05/01 职场文书
小学生通知书评语
2014/12/31 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
python实现双向链表原理
2022/05/25 Python