SpringBoot2.xのカスタムJSONフィールド

指定されたフィールドは返されません:@JsonIgnore

カプセル化されたクラス

@Data
public class User {
    
    
    private int id;
    private String username;
    /**
     *  @JsonIgnore
     * 此注解是类注解,作用是json在序列化时将java bean 中的一些属性忽略掉,序列化和反序列化都受影响
     * 生成json时不生成pwd属性
     */
    @JsonIgnore
    private String pwd;

    public User(){
    
    }
    public User(int id,String username,String pwd){
    
    
        this.id=id;
        this.username=username;
        this.pwd=pwd;
    }
}

apiインターフェースが呼び出されたときに返されるjsonデータ:

ここに画像の説明を挿入

日付形式を指定する

空のフィールドは返されません

エイリアスを指定する

パッケージクラス:

@Data
public class Video implements Serializable {
    
    
    private int id;
    private String title;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String summary;
    private int price;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String coverImg;
    //返回指定的别名
    @JsonProperty("create_time")
    // 返回指定的时间格式
    @JsonFormat(pattern ="yyyy-MM-dd hh:mm:ss",locale="zh",timezone = "GMT+8")
    private Date createTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List<Chapter> chapterList;

    public Video(){
    
    }    //无参构造
    public Video(int id,String title){
    
    
        this.id =id;
        this.title =title;
        this.createTime =new Date();
    }
}

呼び出し側のインターフェースは次のことを示しています。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_49969111/article/details/118576134