详解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中:contains选择器用法实例
Dec 30 Javascript
jQueryMobile之Helloworld与页面切换的方法
Feb 04 Javascript
Bootstrap 响应式实用工具实例详解
Mar 29 Javascript
html5+canvas实现支持触屏的签名插件教程
May 08 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
Bootstrap table使用方法记录
Aug 23 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
Apr 03 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
在node中使用jwt签发与验证token的方法
Apr 03 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
Jun 17 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 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
DC动漫人物排行
2020/03/03 欧美动漫
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
Python随机数random模块使用指南
2016/09/09 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
python机器学习之随机森林(七)
2018/03/26 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
django的ORM操作 增加和查询
2019/07/26 Python
会计系毕业个人自荐信格式
2013/09/23 职场文书
求职信结尾怎么写
2014/05/26 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
会计试用期自我评价
2014/09/19 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书