gpt4 book ai didi

java - 仅使用修改的字段序列化 POJO?

转载 作者:行者123 更新时间:2023-12-01 12:52:41 26 4
gpt4 key购买 nike

我有一堆 POJO,我想将其序列化/反序列化为 JSON。

但是,我有选择地仅读取 cassandra 中的一些字段。

因此,当我将对象序列化为 JSON 时,我只需要从数据库读取的那些对象。

因此,所有 setter 都需要编写代码来跟踪成员已被突变/定义。

这样,当我进行序列化时,只包含修改过的字段。

我在此架构中有数十个字段,因此我不想直接编写 setter 。

是否有任何 POJO 框架可以为我执行此操作?

Java 中没有“未定义”,因此不幸的是默认值为“null”...

最佳答案

在这种情况下,

null 是你的 friend 。

如果我理解正确,并且“未修改”字段在序列化时将为空,并假设您正在使用 Jackson ,只需将以下注释添加到类的顶部:

 @JsonInclude(Include.NON_NULL) //alternatively @JsonInclude(Include.NON_EMPTY)  
class Foo {

这将从序列化对象中排除任何 null(或者空)值。

如果我没有正确理解您的意思,并且“未修改”字段将不会为空或为空,那么这会有点棘手,但不会太多。请告诉我,我会更新一些提示。

(PS,如果您查看该链接,您会发现 Jackson 还有很多其他方便的注释)

关于java - 仅使用修改的字段序列化 POJO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24103232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com