Jackson序列化提供了對基本數據類型和簡單Bean的序列化的支持, 以及對類繼承的支持。java
已經通過測試的數據類型包括:json
Boolean/boolean Long/long Integer/int Double/double Short/short Float/float Byte/byte java.util.Date org.joda.time.DateTime
以及由這些基本數據類型組成的數組和Bean, 如 int[], String[]等.數組
<dubbo:protocol name="dubbo" port="20880" serialization="jackson" />
默認狀況下,Jackson序列化和反序列化時所使用的ObjectMapper定義以下:app
@Override
public ObjectMapper getObjectMapper() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); // objectMapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE); objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); objectMapper.setTimeZone(TimeZone.getDefault()); return objectMapper; }
若是須要自定義JacksonObjectMapperProvider, 開發者能夠經過實現com.alibaba.dubbo.common.json.JacksonObjectMapperProvider接口進行自定義,並在/META-INF/dubbo/中添加文件 com.alibaba.dubbo.common.json.JacksonObjectMapperProvider,內容示例以下:ide
jackson=com.alibaba.dubbo.examples.jackson.jacksonprovider.CustomJacksonObjectMapperProvider