详解json串反转义(消除反斜杠)

 更新时间:2019年08月12日 14:46:37   作者:hongweigg  
这篇文章主要介绍了详解json串反转义(消除反斜杠),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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":""}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 小程序实现点击tab切换左右滑动

    小程序实现点击tab切换左右滑动

    这篇文章主要为大家详细介绍了小程序实现点击tab切换左右滑动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • js实现在字符串中提取数字

    js实现在字符串中提取数字

    js实现在字符串中提取数字。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • BootstrapTable refresh 方法使用实例简单介绍

    BootstrapTable refresh 方法使用实例简单介绍

    本文就bootstrapTable refresh 方法如何传递参数做简单举例说明,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-02-02
  • JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解

    JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解

    这篇文章主要介绍了JS中的算法与数据结构之二叉查找树(Binary Sort Tree),结合实例形式详细分析了二叉查找树(Binary Sort Tree)的原理、定义、遍历、查找、插入、删除等常见操作技巧,需要的朋友可以参考下
    2019-08-08
  • JavaScript手写LRU算法的示例代码

    JavaScript手写LRU算法的示例代码

    LRU是Least Recently Used的缩写,即最近最少使用。作为一种经典的缓存策略,它的基本思想是长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据进来时我们可以优先把这些数据替换掉。本文用JavaScript实现这一算法,需要的可以参考一下
    2022-09-09
  • Leaflet 数据可视化实现地图下钻示例详解

    Leaflet 数据可视化实现地图下钻示例详解

    这篇文章主要为大家介绍了Leaflet数据可视化实现地图下钻示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 微信小程序 列表的上拉加载和下拉刷新的实现

    微信小程序 列表的上拉加载和下拉刷新的实现

    本文主要介绍了微信小程序中实现列表的上拉加载和下拉刷新的方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • js实现拖拽效果

    js实现拖拽效果

    本文主要是为了让大家更好的理解js的面向对象,通过实现拖拽效果向大家展示js面向对象,非常不错,这里推荐给大家。
    2015-02-02
  • 简单的js表格操作

    简单的js表格操作

    这篇文章主要为大家详细介绍了简单的js表格操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 一文带你掌握JavaScript中的EventLoop机制

    一文带你掌握JavaScript中的EventLoop机制

    JavaScript是 单线程、非阻塞 的,它通过事件队列 (Event Loop) 的方式来实现异步回调,所以本文小编就带大家来深入了解一下JavaScript中的EventLoop机制,需要的可以了解下
    2024-02-02

最新评论