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

相关内容

热门资讯

透视安卓版(WPK)果然是真的... 透视安卓版(WPK)果然是真的有挂(透视)wpk俱乐部是做什么的(安装教程);1、wpk俱乐部是做什...
透视智能ai(WPK)切实真的... 透视智能ai(WPK)切实真的有挂(透视)wpk辅助软件(详细教程);1、该软件可以轻松地帮助玩家将...
透视app(WPK)本来有挂(... 透视app(WPK)本来有挂(透视)wpk俱乐部怎么作弊(科技教程)1、进入到wpk俱乐部怎么作弊黑...
透视能赢(WPK)总是是真的有... 透视能赢(WPK)总是是真的有挂(透视)如何判断wpk辅助软件的真假(系统教程)1、任何如何判断wp...
透视中牌率(WPK)确实有挂(... 透视中牌率(WPK)确实有挂(透视)wpk俱乐部辅助器(2025教程)1、下载好wpk俱乐部辅助器辅...
透视美元局(WPK)果然存在有... 透视美元局(WPK)果然存在有挂(透视)wpk刷入池率脚本(wepoke教程)1、玩家可以在wpk刷...
透视实锤(WPK)本来有挂(透... 透视实锤(WPK)本来有挂(透视)wpk德州局透视(2025新版教程)wpk德州局透视辅助器中分为三...
透视中牌率(WPK)切实有挂(... 透视中牌率(WPK)切实有挂(透视)wpk安卓下载辅助(辅助教程);1、wpk安卓下载辅助ai辅助优...
透视好友(WPK)确实真的有挂... 透视好友(WPK)确实真的有挂(透视)wpk德州局透视(解说技巧)暗藏猫腻,小编详细说明wpk德州局...
透视实锤(WPK)一直是有挂(... 透视实锤(WPK)一直是有挂(透视)wpk模拟器是什么(2025新版教程)进入游戏-大厅左侧-新手福...