广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java处理解析带有反斜杠的json
  • 166
分享到

java处理解析带有反斜杠的json

javajson 2023-09-01 21:09:58 166人浏览 泡泡鱼
摘要

JSON处理依赖:fastjson 问题: 对一个json字符串转换成fastjson中的JSONObject对象的时候如果该json字符串中带有多余的反斜杠,可能会导致解析失败; 举例: //现有一个json字符串String s = "

JSON处理依赖:fastjson

问题:

对一个json字符串转换成fastjson中的JSONObject对象的时候如果该json字符串中带有多余的反斜杠,可能会导致解析失败;

举例:

//现有一个json字符串String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";//对该字符串做处理JSONObject jsonObject = JSONObject.parseObject(s);System.out.println(jsonObject);

这时候就会报错

这种简单的反斜杠处理有两种方式:

处理方法1:

简单粗暴去掉字符串中的反斜杠:

//现有一个json字符串String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";//解析前去除反斜杠,将反斜杠替换为空字符串s = StringUtils.replace(s, "\\", "");//对该字符串做处理JSONObject jsonObject = JSONObject.parseObject(s);System.out.println(jsonObject);

处理方法2:

解析前反转义一下

//现有一个json字符串String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";//解析前反转义该json字符串s = StringEscapeUtils.unescapejavascript(s);//对该字符串做处理JSONObject jsonObject = JSONObject.parseObject(s);System.out.println(jsonObject);

如果这两种方法都不行,或者说json中的反斜杠情况略微复杂,去除所有反斜杠后会让json字符串的本意发生变化的话,那可以试试下面的方法

处理方法3(上述两种方法不生效再考虑):

//现有一个json字符串String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";//解析前处理json字符串 s = new String(s);//对该字符串做处理JSONObject jsonObject = JSONObject.parseObject(s);System.out.println(jsonObject);

来源地址:https://blog.csdn.net/weixin_45371233/article/details/127301475

--结束END--

本文标题: java处理解析带有反斜杠的json

本文链接: https://www.lsjlt.com/news/389673.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java处理解析带有反斜杠的json
    json处理依赖:fastjson 问题: 对一个json字符串转换成fastjson中的JSONObject对象的时候如果该json字符串中带有多余的反斜杠,可能会导致解析失败; 举例: //现有一个json字符串String s = "...
    99+
    2023-09-01
    java json
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作