我有一堆POJO我想序列化/反序列化为JSON。
但是,我有选择地只从cassandra中读取某些字段。
因此,当我将对象序列化为JSON时,我只想要那些从数据库中读取的对象。
因此,所有setter都需要编码来跟踪成员是否已被变异/定义。
当我去序列化时,只包括修改后的字段。
我在这个架构中有很多字段,所以我不想直接编写setter。
是否有任何POJO框架可以帮我这么做?
没有' undefined'在Java中,默认为' null'不幸的是...
答案 0 :(得分:1)
null
是你的朋友。
如果我正确地理解你并且未经修改的"字段在序列化时将为null,并假设您使用Jackson,只需将以下注释添加到类的顶部:
@JsonInclude(Include.NON_NULL) //alternatively @JsonInclude(Include.NON_EMPTY)
class Foo {
这将排除序列化对象中的任何null(或者,空)值。
如果我没有正确理解你并且未经修改,那么#34;字段将不为空或空,它会有点棘手,但并不多。请告诉我,我会更新一些提示。
(PS,如果你查看该链接,你会看到Jackson有很多其他方便的注释)