Java物件為空時,不顯示該物件屬性,或者將null轉換為""
第一種方法:
@JsonInclude(JsonInclude.Include.NON_NULL)
將這個註解加在實體類對應的物件名上面,或者類名上面。
Include.ALWAYS 屬性都序列化
Include.NON_DEFAULT 屬性為預設值不序列化
Include.NON_EMPTY 屬性為 空("") 或者為 NULL 都不序列化
Include.NON_NULL 屬性為NULL 不序列化
如:
private Integer id;
@JsonInclude(JsonInclude.Include.NON_NULL)
private String resourceName;
這時候如果resourceName為null 則不會顯示該屬性。
這個方法缺點就是就是如果為空整個屬性就沒了,下面介紹一種講null轉""的方法。
第二種方法:自定義一個objectmapper
import java.io.IOException;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
/**
* null返回空字串
*/
@Configuration
public class JacksonConfig {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
SerializerProvider serializerProvider = objectMapper.getSerializerProvider();
serializerProvider.setNullValueSerializer(new JsonSerializer<Object>() {
@Override
public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeString("");
}
});
return objectMapper;
}
}
注意但是這個方法會把物件為空,list ,map ,列舉 為 null的情況下也轉成 空字串,這是個弊端,根據需求而用吧。
第三種方法:直接設定屬性預設值
就是在初始化實體類的時候設定屬性預設值
如:
private String name="";
相關文章
- 使用反射建立窗體物件時,物件為NULL反射物件Null
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- eval()將JSON格式字串轉換為物件JSON字串物件
- java將物件轉為json的方式Java物件JSON
- Java將Boolean轉為Json物件的方法JavaBooleanJSON物件
- eval() JSON轉換為物件JSON物件
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- java判斷物件是否為空Java物件
- 數字作為物件的屬性物件
- javascript 將變數值作為物件屬性 獲取物件對應的值JavaScript變數物件
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- java 將物件集合轉為欄位值的 listJava物件
- JSON字串轉換為物件直接量JSON字串物件
- 簡單介紹實體類或物件序列化時,忽略為空屬性的操作物件
- Java如何將Object轉換成指定Class物件JavaObject物件
- Java物件轉JSON時如何動態的增刪改查屬性Java物件JSON
- 判斷物件是否為空物件的方式物件
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- 我為什麼不推薦使用BeanUtils屬性轉換工具Bean
- 通過java反射,遞迴查詢物件所有屬性,為空也要返回欄位的結構Java反射遞迴物件
- PostgreSQLoracle相容性-字串內嵌NULL字元(空字元)chr(0)轉換為chr(32)SQLOracle字串Null字元
- mapstruct解放Java物件轉換StructJava物件
- Java物件轉換成MapJava物件
- JS判斷物件是否為空物件的方法JS物件
- PostgreSQL中將物件oid和物件名相互轉換SQL物件
- 將List物件列表轉為樹形結構物件
- Java程式碼實現帶時區時間字串轉為LocalDateTime物件Java字串LDA物件
- js物件屬性JS物件
- js判斷物件是否為空JS物件
- Java 中將 InputStream 轉換為 StreamJava
- Java 中將 Short 轉換為 byte[]Java
- js將秒轉換為時分秒JS
- java 物件與xml相互轉換Java物件XML
- Java 將PDF轉為線性PDFJava
- 判斷一個物件為空物件的5種方法物件
- 如何判斷 JavaScript 物件是否為空?JavaScript物件
- springboot @RequestBody bean 物件 為空問題Spring BootBean物件
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring