详解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 设计模式(二) 闭包
May 26 Javascript
js使用eval解析json(js中使用json)
Jan 17 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
JavaScript中的对象继承关系
Aug 01 Javascript
JS中from 表单序列化提交的代码
Jan 20 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 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 中文处理函数集合
2008/08/27 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
Jquery 实现图片轮换
2015/01/28 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python入门教程之if语句的用法
2015/05/14 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
python调用百度语音识别api
2018/08/30 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
大学毕业生自我鉴定
2013/11/05 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
服务宗旨标语
2014/07/01 职场文书
颐和园导游词
2015/01/30 职场文书
微观世界观后感
2015/06/10 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技