详解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 相关文章推荐
用js实现键盘方向键翻页功能的代码
Jun 03 Javascript
javascript 导出数据到Excel(处理table中的元素)
Dec 18 Javascript
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
Linux下使用jq友好的打印JSON技巧分享
Nov 18 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
基于jquery实现左右按钮点击的图片切换效果
Jan 27 Javascript
vue2.0实现分页组件的实例代码
Jun 22 Javascript
Node.js readline 逐行读取、写入文件内容的示例
Mar 01 Javascript
深入解析koa之异步回调处理
Jun 17 Javascript
js实现tab栏切换效果
Aug 02 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版)
2006/10/09 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
JS 统计时间
2021/03/09 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
全面理解Python中self的用法
2016/06/04 Python
python模块之paramiko实例代码
2018/01/31 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
优秀求职信范文分享
2013/12/19 职场文书
总经理工作职责范文
2014/03/14 职场文书
文明演讲稿范文
2014/05/12 职场文书
节能环保口号
2014/06/12 职场文书
仲裁协议书
2014/09/26 职场文书
家属答谢词
2015/01/05 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
Flask response响应的具体使用
2021/07/15 Python