1. xml形式
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <!-- objectMapper配置 --> <property name="objectMapper"> <bean class="com.fasterxml.jackson.databind.ObjectMapper"> <!--駝峰命名法轉換為小寫加下划線--> <property name="propertyNamingStrategy"> <bean class="com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy" /> </property> <!--為null字段時不輸出--> <property name="serializationInclusion"> <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value> </property> <!--禁用空對象轉換json校驗--> <property name="configure"> <value type="com.fasterxml.jackson.databind.SerializationFeature">FAIL_ON_EMPTY_BEANS</value> </property> <!--忽略未知的字段--> <property name="configure"> <value type="com.fasterxml.jackson.databind.DeserializationFeature">FAIL_ON_UNKNOWN_PROPERTIES</value> </property> </bean> </property> <!-- 支持的類型,編碼 --> <property name="supportedMediaTypes"> <list><value>application/json;charset=UTF-8</value></list> </property> </bean>
2. Java文件如下:
@Configuration public class MyObjectMapper extends ObjectMapper { private static final long serialVersionUID = 4402127997078513582L; public MyObjectMapper() { //設置null值不參與序列化(字段不被顯示) this.setSerializationInclusion(JsonInclude.Include.NON_NULL); // 禁用空對象轉換json校驗 this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); this.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); //駝峰命名法轉換為小寫加下划線 this.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); } }
參考鏈接: https://blog.csdn.net/ibooks/article/details/48268183#