详解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面向对象编程
Mar 04 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
js播放wav文件(源码)
Apr 22 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
JS实现简单的浮动碰撞效果示例
Dec 28 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 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学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
不懂JavaScript应该怎样学
2008/04/16 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
浅谈Angular 观察者模式理解
2018/11/01 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
Python中的lstrip()方法使用简介
2015/05/19 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
python中kmeans聚类实现代码
2018/02/23 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
用python进行视频剪辑
2020/11/02 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
同学聚会欢迎辞
2014/01/14 职场文书
会议邀请函
2015/01/30 职场文书
紧急迫降观后感
2015/06/15 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
Golang 实现WebSockets
2022/04/24 Golang
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL