public class Jackson2JsonRedisSerializer<T> extends Object implements RedisSerializer<T>
RedisSerializer that can read and write JSON using Jackson's and Jackson Databind ObjectMapper.
This converter can be used to bind to typed beans, or untyped HashMap instances.
Note:Null objects are serialized as empty arrays and vice versa.
| Modifier and Type | Field and Description |
|---|---|
static Charset |
DEFAULT_CHARSET |
| Constructor and Description |
|---|
Jackson2JsonRedisSerializer(Class<T> type)
Creates a new
Jackson2JsonRedisSerializer for the given target Class. |
Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.JavaType javaType)
Creates a new
Jackson2JsonRedisSerializer for the given target JavaType. |
| Modifier and Type | Method and Description |
|---|---|
T |
deserialize(byte[] bytes)
Deserialize an object from the given binary data.
|
protected com.fasterxml.jackson.databind.JavaType |
getJavaType(Class<?> clazz)
Returns the Jackson
JavaType for the specific class. |
byte[] |
serialize(Object t)
Serialize the given object to binary data.
|
void |
setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Sets the
ObjectMapper for this view. |
public static final Charset DEFAULT_CHARSET
public Jackson2JsonRedisSerializer(Class<T> type)
Jackson2JsonRedisSerializer for the given target Class.type - public Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.JavaType javaType)
Jackson2JsonRedisSerializer for the given target JavaType.javaType - public T deserialize(byte[] bytes) throws SerializationException
RedisSerializerdeserialize in interface RedisSerializer<T>bytes - object binary representationSerializationExceptionpublic byte[] serialize(Object t) throws SerializationException
RedisSerializerserialize in interface RedisSerializer<T>t - object to serializeSerializationExceptionpublic void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
ObjectMapper for this view. If not set, a default ObjectMapper
is used.
Setting a custom-configured ObjectMapper is one way to take further control of the JSON serialization
process. For example, an extended SerializerFactory can be configured that provides custom serializers for
specific types. The other option for refining the serialization process is to use Jackson's provided annotations on
the types to be serialized, in which case a custom-configured ObjectMapper is unnecessary.
protected com.fasterxml.jackson.databind.JavaType getJavaType(Class<?> clazz)
JavaType for the specific class.
Default implementation returns TypeFactory.constructType(java.lang.reflect.Type), but this can be
overridden in subclasses, to allow for custom generic collection handling. For instance:
protected JavaType getJavaType(Class<?> clazz) {
if (List.class.isAssignableFrom(clazz)) {
return TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, MyBean.class);
} else {
return super.getJavaType(clazz);
}
}
clazz - the class to return the java type forCopyright © 2011–2017 Pivotal Software, Inc.. All rights reserved.