当我使用lombok时,如何在Gson序列化/反序列化中将默认值添加到具有空字符串值的传入变量中?

时间:2019-04-02 06:37:00

标签: java json gson lombok

这是课程

package com.bablo.domain;

import com.google.gson.annotation.SerializedName;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;


@Getter @Setter
@ToString
public class PC {

   @SerializeName("name")
   private String name;

   @SerializeName("model")
    private String model;

   @SerializeName("processor")
    private String processor;
}

在上面的model的class属性中,json中可以有一个空字符串,如何在序列化和反序列化时为其赋予默认值。

也就是说,在requestbody json中,模型键的值可以将空字符串作为值,以及如何读取它并在类属性中将默认值替换为空字符串。

我应该禁用lombok并在类中添加自定义getter和setter方法以覆盖默认值吗?

还是Gson中有可用的注释来实现这一目标?

还是龙目岛有一些解决方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

可能您需要在此处使用lombok Builder批注。像这样:

@Getter @Setter
@ToString
class PC {

    @SerializedName("name")
    @Builder.Default
    private String name = "name1";

    @SerializedName("model")
    @Builder.Default
    private String model = "model1";

    @SerializedName("processor")
    @Builder.Default
    private String processor = "processor1";
}