详解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 相关文章推荐
基于jquery的横向滚动条(滑动条)
Feb 24 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
Extjs实现进度条的两种便捷方式
Sep 26 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
AngularJS实现元素显示和隐藏的几个案例
Dec 09 Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
package.json配置文件构成详解
Aug 27 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 Javascript
vue如何在data中引入图片的正确路径
Jun 05 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php导出生成word的方法
2015/12/25 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
妇产科护士自我鉴定
2013/10/15 职场文书
新闻编辑自荐信
2013/11/03 职场文书
小学生红领巾广播稿
2014/01/21 职场文书
团委竞选演讲稿
2014/04/24 职场文书
生物科学专业自荐书
2014/06/20 职场文书
护理学专业求职信
2014/06/29 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
大学学生会竞选稿
2015/11/19 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis