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