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

这篇具有很好参考价值的文章主要介绍了java处理解析带有反斜杠的json。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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字符串的本意发生变化的话,那可以试试下面的方法文章来源地址https://www.toymoban.com/news/detail-658779.html

处理方法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);

到了这里,关于java处理解析带有反斜杠的json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql处理json格式的字段,一文搞懂mysql解析json数据

    略。自行百度。 JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 MySQL 8.0版本中增加了对JSON类型的索引支持。可以使用CREATE INDEX语句创建JSON类型的索引,提高JSON类型数据的查询效率。 存储JSON文档所需的空间与存储

    2024年02月07日
    浏览(54)
  • Flutter携带JSON参数post请求

    在Flutter中发送带有JSON参数的网络请求,你可以使用HTTP库(如 http 或 dio )来实现。以下是使用 http 库发送网络请求并携带JSON参数的示例: 在上述示例中,首先创建一个参数Map,并将其转换为JSON字符串。然后设置请求头,使其指明请求类型为JSON。最后使用 http.post() 方法发送

    2024年02月14日
    浏览(54)
  • Qt 5.14.2 深度解析:打造高效JSON处理利器

    Qt 5.14.2 深度解析:打造高效JSON处理利器 参考资料 Qt官方文档:QJsonDocument Qt官方文档:QJsonObject Qt官方文档:QJsonArray Qt官方文档:QJsonValue 引言 在当今的软件开发世界中,JSON(JavaScript Object Notation)已经成为了数据交换的标准格式。Qt,作为一个跨平台的C++框架,自然也提供

    2024年03月10日
    浏览(49)
  • java解析json

    代码: 步骤:     定义一个JSON数组,用于将服务器返回的数据传入到一个JSONArray对象中;     然后循环遍历这个JSONArray,从中取出每一个元素(JSONObject对象);     调用getString()方法即可将数据取出。 代码: 参考:java解析json_java 解析json_五宝茶四娃的博客-CSDN博客

    2024年02月10日
    浏览(39)
  • java对于JSON的解析

    1.1、JSONObject JSONObject是一种在Java中表示JSON对象的数据结构。它是一个无序的键值对集合,用花括号({})包围,并且每个键值对由冒号(:)分隔。 在Java中使用JSONObject,通常需要使用JSON库(如Jackson、Gson等)进行解析和操作。以下是一些常见的JSONObject操作: 创建JSONObject:

    2024年02月08日
    浏览(50)
  • postman发送post请求携带json参数获取为null的情况

        @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里    

    2024年02月13日
    浏览(62)
  • java:解析json的几种方式

    Java是一种流行的编程语言,它提供了很多实用的库和工具,在处理JSON数据时也不例外。在本文中,我们将介绍Java中如何解析JSON数据。 JSON是一种轻量级的数据交换格式,它已经成为Web应用程序中最流行的数据格式之一。Java提供了许多库来处理JSON数据,包括Jackson、Gson和JS

    2024年02月03日
    浏览(55)
  • Python中如何快速解析JSON对象数组

    由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。本文将描述如何使用Python的JSON模块来传输和接收JSON数据。 JSON (JavaScript Object Notation)是一种用于数据交换的语法,它对人的读写很简单,对计算机的解析和生产也很简单,而且还可以存储数据。

    2024年02月10日
    浏览(50)
  • Java处理JSON

    Java处理json有很多种方法,在这里总结一下。 Spring MVC 默认采用Jackson解析Json,出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。 Jackson核心模块由三部分组成:jackson-core、jackson-annotations、jackson-databind。 由于jackson-databind 依赖 jackson-core 和 jackson-annotations,所以只显

    2023年04月11日
    浏览(39)
  • java解析多层嵌套json字符串

    在java 程序中,经常会涉及到各种变量值提取的问题,下面给出简单的示例及说明: JSON实际上也是键值对(\\\"key\\\":\\\"value\\\"),key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null) value如果是字符串,用jsonobj.getString(\\\"key\\\")获取 value如果是数

    2024年02月15日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包