不要反序列化未传递的值
创始人
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)

相关内容

热门资讯

揭秘关于!菠萝德州透视脚本(透... 揭秘关于!菠萝德州透视脚本(透视)竟然存在有挂(2022已更新)(哔哩哔哩)一、菠萝德州透视脚本软件...
透视教程书!德普之星私人局辅助... 透视教程书!德普之星私人局辅助免费(透视)的辅助工具介绍(都是真的有挂)1、不需要AI权限,帮助你快...
必看攻略!德州透视插件(透视)... 必看攻略!德州透视插件(透视)本来是有挂(2021已更新)(哔哩哔哩)1、上手简单,内置详细流程视频...
透视要领!德普辅助软件,(德普... 透视要领!德普辅助软件,(德普)竟然真的有挂(详细透视)1.德普辅助软件 ai辅助创建新账号,点击进...
分享一款!拱趴大菠萝十三水作弊... 分享一款!拱趴大菠萝十三水作弊(透视)切实存在有挂(2020已更新)(哔哩哔哩)1、拱趴大菠萝十三水...
透视指南!德普之星怎么开辅助(... 透视指南!德普之星怎么开辅助(透视)透视软件免费入口官网(果然真的有挂)1、任何德普之星怎么开辅助a...
每日必备!哈糖大菠萝有没有挂(... 每日必备!哈糖大菠萝有没有挂(透视)果然真的有挂(2024已更新)(哔哩哔哩);哈糖大菠萝有没有挂辅...
透视要领!德普之星透视辅助软件... 透视要领!德普之星透视辅助软件下载(透视)透视辅助插件(切实有挂);1、德普之星透视辅助软件下载ai...
技术分享!德州机器人代打脚本(... 技术分享!德州机器人代打脚本(透视)切实真的有挂(2025已更新)(哔哩哔哩)1、起透看视 德州机器...
透视方式!德普之星辅助工具如何... 透视方式!德普之星辅助工具如何打开(透视)透视辅助软件下载(好像有挂)1、不需要AI权限,帮助你快速...