JSON.parseObject解析DTO报错

场景:接收第三方请求结果,将json转化成DTO的时候报错
报错代码如下

JSONObject result = JSON.parseObject(httpResult.getValue());
        if (Objects.nonNull(result) && "00000".equals(result.get("code"))) {
            FullConfigCheckDTO fullConfigCheckDTO = JSON.parseObject(JSON.toJSONString(result.get("message")), FullConfigCheckDTO.class);
            return fullConfigCheckDTO ;
        }           

报错信息如下:

com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0, fastjson-version 1.2.47

打印后发现JSON.parseObject解析的结果数据中会有反斜杠,下面获取的message在通过JSON.toJSONString(result.get("message")去转化成string得到的数据还是有反斜杠的数据,导致数据解析失败

修正后代码如下:

JSONObject result = JSON.parseObject(httpResult.getValue());
        if (Objects.nonNull(result) && "00000".equals(result.get("code"))) {
            String a =result.get("message").toString();
            log.info("a返回信息{}",a);
            FullConfigCheckDTO fullConfigCheckDTO = JSON.parseObject( result.get("message").toString(), FullConfigCheckDTO.class);
            return fullConfigCheckDTO ;
        }

再看打印直接用toString得到的数据反斜杠消失了,解析正常。


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JSON JSON 是一种轻量级易与解析的数据格式,它按照 js 的对象和数组的字面量格式来书写。 现在 JSON...
    小山居阅读 672评论 0 0
  • 1. JSON 是什么 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...
    cbw100阅读 512评论 0 3
  • 一、JSON介绍 1.简介 JSON: JavaScript Object Notation JS对象简谱 , 是...
    jing2020阅读 807评论 0 0
  • JSON的特点: JSON数据格式(JSON对象、JSON数组): 1、JSON对象:{ } 结构:{key1:v...
    gogoingmonkey阅读 2,481评论 0 5
  • JSON的特点: 1、JSON比XML的数据传递的有效性高;2、JSON完全独立于编程语言;3、JSON的本质是具...
    程序员之路阅读 3,795评论 0 3

友情链接更多精彩内容