国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 基于@JsonSerialize和@JsonInclude注解使用方法

基于@JsonSerialize和@JsonInclude注解使用方法

2022-02-19 14:39Jesslili Java教程

這篇文章主要介紹了@JsonSerialize和@JsonInclude注解使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@JsonSerialize和@JsonInclude注解

@JsonSerialize

后端開發(fā)時返回給前端的數(shù)據(jù)格式有時可能并不符合。

舉個例子,比如一張表中的時間,數(shù)據(jù)庫中存儲的是yyy-mm-dd hh:mm:ss 這樣的形式,而前段需要的是精確到秒的格式,這是就會出現(xiàn)問題。此時可以利用@JsonSerialize注解,改變返回給前端的json格式

@JsonSerialize注解,主要用于數(shù)據(jù)轉(zhuǎn)換,該注解作用在該屬性的getter()方法上。

使用步驟

1. 指定一個格式化的類

里面寫好規(guī)則

//JsonSerializer<Integer>:Integer為要轉(zhuǎn)換的類型
public class MySerializerUtils extends JsonSerializer<Integer> {
  @Override
  public void serialize(Integer status, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
      String statusStr = "";
      switch (status) {
          case 0:
              statusStr = "暫存";
              break;
          case 1:
              statusStr = "待上報";
              break;
          case 2:
              statusStr = "待審核";
              break;
          case 3:
              statusStr = "已審";
              break;
          case 4:
              statusStr = "退回";
              break;
          case -1:
              statusStr = "已刪";
              break;
          default:
              statusStr = "狀態(tài)信息不符合";
      }
      jsonGenerator.writeString(statusStr);
  }
}

//JsonSerializer<Date>:Date為要轉(zhuǎn)換的類型
public class Date2LongSerializer extends JsonSerializer<Date> {
  @Override
  public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
     jsonGenerator.writeNumber(date.getTime() / 1000);
  }
}

2. 在實體類中在要轉(zhuǎn)換的字段上加上該注解

@JsonSerialize(using = MySerializerUtils.class)
private int status;

//創(chuàng)建時間
@JsonSerialize(using = Date2LongSerializer.class)
private Date creatTime;
//更新時間
@JsonSerialize(using = Date2LongSerializer.class)
private Date updateTime;

@JsonInclude

返回前端的實體類中如果某個字段為空的話那么就不返回這個字段了

所以將@JsonInclude(Include.NON_NULL) 這個注解放在類頭上就可以解決。 實體類與json互轉(zhuǎn)的時候?qū)傩灾禐?null 的不參與序列化

JsonJsonInclude.Include.ALWAYS這個是默認(rèn)策略,任何情況下都序列化該字段,和不寫這個注解是一樣的效果。

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderDTO {
  private String orderId;
  private String buyerName;
  private String buyerPhone;
  private String buyerAddress;    
  private String buyerOpenid;
  List<OrderDetail> orderDetailList;//null,不返回
}

如果多個類都需要不返回null,挨個加注釋太麻煩了,可以全局設(shè)置,更改配置文件application.yml

spring:
jackson:
  default-property-inclusion: non_null

如果List<OrderDetail> orderDetailList;需要返回一個空的list,但不能返回null,可以直接初始化

List<OrderDetail> orderDetailList = new ArrayList<>();

基于@JsonSerialize和@JsonInclude注解使用方法

同樣若要返回空字符而不是null,初始化

private String msr = "";
private String data;

基于@JsonSerialize和@JsonInclude注解使用方法

 

JSON @JsonSerialize 棄用問題解決方案

@JsonSerialize棄用spring boot中,返回json默認(rèn)是包含空串的,如果我們不想讓json返回null值,可以在bean上添加一些注解。

@JsonInclude(JsonInclude.Include.NON_EMPTY)??

后面的枚舉值可以為

ALWAYS,
NON_NULL, // 屬性為NULL 不序列化,就是為null的字段不參加序列化    
NON_ABSENT, // 屬性為默認(rèn)值不序列化
NON_EMPTY, // 屬性為 空("") 或者為 NULL 都不序列化,則返回的json是沒有這個字段的。這樣對移動端會更省流量
NON_DEFAULT,
CUSTOM,
USE_DEFAULTS;

調(diào)用

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class MsgBean {}

Ps:好多資料上說的@JsonSerialize這個注解已經(jīng)被棄用了~

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/myjess/article/details/106491091

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产高清一区二区三区 | 久久激情视频 | 亚洲国产一级 | 国产精品免费视频一区 | 欧美日韩精品一区二区在线播放 | 精品香蕉视频 | 一级黄色一级黄色 | h在线免费 | 成人免费淫片aa视频免费 | 亚洲精品国产乱码在线看蜜月 | 99精品一区二区三区 | 欧美色综合网 | 欧美黄视频在线观看 | 视频一区 日韩 | 欧美永久精品 | 国产成人网 | 日韩精品1区 | 国产成人精品一区二区三区四区 | 深夜视频在线 | 一级片av| 国产精品第52页 | 欧洲精品一区 | 在线免费av观看 | 黄色免费观看 | 亚洲综合视频 | 一区二区三区在线播放视频 | 欧美视频在线免费 | 亚洲国产精品一区二区三区 | 精品国产欧美一区二区 | 日本一区二区三区四区 | 91精品国产综合久久香蕉 | 人人澡人人射 | 欧美日韩中文字幕 | 伊人五月| 午夜夜| 免费看操片| 久久免费视频观看 | 亚洲精品久久久久久一区二区 | 欧美日本韩国一区二区三区 | 偷拍一区二区 | 亚洲 欧美 日韩在线 |