不要反序列化未传递的值
创始人
2025-01-10 18:30:26
0

在反序列化时,添加一个条件,仅在已传递的值不为空时反序列化该值。

示例代码:

public class Person { private String name; private String age;

// getters and setters

@Override
public String toString() {
    return "Person{" +
            "name='" + name + '\'' +
            ", age='" + age + '\'' +
            '}';
}

}

// JSON字符串 String json = "{"name":"Tom"}";

// 反序列化Person对象 ObjectMapper mapper = new ObjectMapper(); Person person = mapper.readValue(json, Person.class);

// 输出结果 System.out.println(person); // 输出:Person{name='Tom', age='null'} (age未传递,反序列化为默认值null)

// 改进后的解决方法

public class Person { private String name; private String age;

// getters and setters

@Override
public String toString() {
    return "Person{" +
            "name='" + name + '\'' +
            ", age='" + age + '\'' +
            '}';
}

// 在setter中添加条件,仅在age不为空时设置age
public void setAge(String age) {
    if (age != null && !age.isEmpty()) {
        this.age = age;
    }
}

}

// JSON字符串 String json = "{"name":"Tom"}";

// 反序列化Person对象 ObjectMapper mapper = new ObjectMapper(); Person person = mapper.readValue(json, Person.class);

// 输出结果 System.out.println(person); // 输出:Person{name='Tom', age='null'} (age未传递,不会设置为null)

相关内容

热门资讯

必备教程!wepoker俱乐部... 必备教程!wepoker俱乐部开挂,四川游戏家园辅助软件,详细软件(讲解有挂)1、该软件可以轻松地帮...
我来教大家!胡乐辅助脚本是真的... 我来教大家!胡乐辅助脚本是真的假的,科乐游戏辅助脚本视频,详细脚本(有挂方略);1、操作简单,无需胡...
今日公布!青橙竞技游戏辅助,纳... 今日公布!青橙竞技游戏辅助,纳祥游戏脚本,详细工具(有挂方略)1、玩家可以在青橙竞技游戏辅助线上大神...
技巧知识分享!朋友局辅助器免费... 技巧知识分享!朋友局辅助器免费版,小程序牵手跑得有辅助器,详细工具(有挂规律);1、金币登录送、破产...
查到实测辅助!西元红河辅助,闲... 查到实测辅助!西元红河辅助,闲来山水广西辅助,详细攻略(有挂细节)1、金币登录送、破产送、升级送、活...
科普常识!花花生活圈开挂,微乐... 科普常识!花花生活圈开挂,微乐小程序挂哪里有,详细技巧(有挂秘诀)1、首先打开微乐小程序挂哪里有辅助...
重大通报!九游辅助工具,微信小... 重大通报!九游辅助工具,微信小程序雀神广东智能辅助,详细方法(有挂秘籍)1、起透看视 微信小程序雀神...
一分钟秒懂!微乐游戏竞技团辅助... 一分钟秒懂!微乐游戏竞技团辅助,四川血战到底辅助,详细挂(确实有挂)1.微乐游戏竞技团辅助 选牌创建...
解密关于!斗棋有bug么开挂,... 解密关于!斗棋有bug么开挂,多乐小程序游戏破解器,详细工具(真实有挂)多乐小程序游戏破解器辅助器是...
必备科技!打哈儿辅助软件,八闽... 必备科技!打哈儿辅助软件,八闽辅助,详细方法(有挂功能)1、打哈儿辅助软件有没有辅助教程、打哈儿辅助...