一个不愿透露姓名的糕 2022-08-24 15:34 采纳率: 57.1%
浏览 101

JSON.parseObject 构造方法转化问题

实体类中构造方法没有的参数使用JSON.parseObject方法无法成功转化
@Data
public class TestData {
    private String a;
    private String b;
    private String c;
    private String d;
     //构造方法
    public TestData (String a, String b) {
        this.a= a;
        this.b= b;
    }

}


 TestData t= JSON.parseObject(data, TestData.class);
  String c= auth.getC();   //这个时候为空  去掉构造方法只用@Data的里面带的get set方法就可以使用
其中的json data值为
"data": {
        "c": "1",
        "d": "2"
    }
去掉构造方法只用@Data的里面带的get set方法 c可以获取到 ,不去掉的话,一直为空,是什么原因?
我想要可以有a.b参数 构造方法的同时,JSON.parseObject 可以转化实体类含有 c.d两个参数
  • 写回答

3条回答 默认 最新

  • 不甘_ 2022-08-24 16:00
    关注

    将json字符串转换为java对象
    同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。

    JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象

    将json对象转换为java对象

    Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象

    评论

报告相同问题?

问题事件

  • 创建了问题 8月24日

悬赏问题

  • ¥15 python变量和列表之间的相互影响
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)