详解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学习笔记1 数据类型
Jan 11 Javascript
js动态生成指定行数的表格
Jul 11 Javascript
Jquery动态更改一张位图的src与Attr的使用
Jul 31 Javascript
jQuery+PHP实现动态数字展示特效
Mar 14 Javascript
实例讲解jquery中mouseleave和mouseout的区别
Feb 17 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
Vue精简版风格概述
Jan 30 Javascript
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 Javascript
jQuery实现简单日历效果
Jul 05 jQuery
Vue实现点击当前行变色
Dec 14 Vue.js
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获取当前所在目录位置的方法
2014/11/26 PHP
php压缩文件夹最新版
2018/07/18 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
7个JS基础知识总结
2014/03/05 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
js中实现继承的五种方法
2021/01/25 Javascript
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python数据分析:关键字提取方式
2020/02/24 Python
python urllib和urllib3知识点总结
2021/02/08 Python
Python实现粒子群算法的示例
2021/02/14 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
翻译专业应届生求职信
2013/11/23 职场文书
公司授权委托书样本
2014/09/15 职场文书
校本培训个人总结
2015/02/28 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js