方法详细资料
setNullKeySerializer
public abstract void setNullKeySerializer(JsonSerializer nks)
Method that can be used to specify serializer that will be
used to write JSON property names matching null keys for Java
Maps (which will throw an exception if try write such property
name)
从以下版本开始:
1.8
setNullValueSerializer
public abstract void setNullValueSerializer(JsonSerializer nvs)
Method that can be used to specify serializer that will be
used to write JSON values matching Java null values
instead of default one (which simply writes JSON null)
从以下版本开始:
1.8
setDefaultKeySerializer
public abstract void setDefaultKeySerializer(JsonSerializer ks)
Method that can be used to specify serializer to use for serializing
all non-null JSON property names, unless more specific key serializer
is found (i.e. if not custom key serializer has been registered for
Java type).
Note that key serializer registration are different from value serializer
registrations.
从以下版本开始:
1.8
serializeValue
public abstract void serializeValue(SerializationConfig cfg,
JsonGenerator jgen,
Object value,
SerializerFactory jsf)
throws IOException,
JsonGenerationException
The method to be called by ObjectMapper to
execute recursive serialization, using serializers that
this provider has access to.
参数:jsf - Underlying factory object used for creating serializers
as needed
抛出:
serializeValue
public abstract void serializeValue(SerializationConfig cfg,
JsonGenerator jgen,
Object value,
JavaType rootType,
SerializerFactory jsf)
throws IOException,
JsonGenerationException
The method to be called by ObjectMapper to
execute recursive serialization, using serializers that
this provider has access to; and using specified root type
for locating first-level serializer.
参数:rootType - Type to use for locating serializer to use, instead of actual
runtime type. Must be actual type, or one of its super types
抛出:
从以下版本开始:
1.5
generateJsonSchema
public abstract JsonSchema generateJsonSchema(Class> type,
SerializationConfig config,
SerializerFactory jsf)
throws JsonMappingException
Generate Json-schema for
given type.
参数:type - The type for which to generate schema
抛出:
hasSerializerFor
public abstract boolean hasSerializerFor(SerializationConfig cfg,
Class> cls,
SerializerFactory jsf)
Method that can be called to see if this serializer provider
can find a serializer for an instance of given class.
Note that no Exceptions are thrown, including unchecked ones:
implementations are to swallow exceptions if necessary.
getConfig
public final SerializationConfig getConfig()
Method for accessing configuration for the serialization processing.
isEnabled
public final boolean isEnabled(SerializationConfig.Feature feature)
Convenience method for checking whether specified serialization
feature is enabled or not.
Shortcut for:
getConfig().isEnabled(feature);
getSerializationView
public final Class> getSerializationView()
Convenience method for accessing serialization view in use (if any); equivalent to:
getConfig().getSerializationView();
从以下版本开始:
1.4
getFilterProvider
public final FilterProvider getFilterProvider()
Convenience method for accessing provider to find serialization filters used,
equivalent to calling:
getConfig().getFilterProvider();
从以下版本开始:
1.4
constructType
public JavaType constructType(Type type)
从以下版本开始:
1.8
constructSpecializedType
public JavaType constructSpecializedType(JavaType baseType,
Class> subclass)
从以下版本开始:
1.9.1
findValueSerializer
public abstract JsonSerializer findValueSerializer(Class> runtimeType,
BeanProperty property)
throws JsonMappingException
Method called to get hold of a serializer for a value of given type;
or if no such serializer can be found, a default handler (which
may do a best-effort generic serialization or just simply
throw an exception when invoked).
Note: this method is only called for non-null values; not for keys
or null values. For these, check out other accessor methods.
Note that starting with version 1.5, serializers should also be type-aware
if they handle polymorphic types. That means that it may be necessary
to also use a TypeSerializer based on declared (static) type
being serializer (whereas actual data may be serialized using dynamic
type)
抛出:
findValueSerializer
public abstract JsonSerializer findValueSerializer(JavaType serializationType,
BeanProperty property)
throws JsonMappingException
Similar to findValueSerializer(Class), but takes full generics-aware
type instead of raw class.
findTypedValueSerializer
public abstract JsonSerializer findTypedValueSerializer(Class> valueType,
boolean cache,
BeanProperty property)
throws JsonMappingException
Method called to locate regular serializer, matching type serializer,
and if both found, wrap them in a serializer that calls both in correct
sequence. This method is currently only used for root-level serializer
handling to allow for simpler caching. A call can always be replaced
by equivalent calls to access serializer and type serializer separately.
参数:valueType - Type for purpose of locating a serializer; usually dynamic
runtime type, but can also be static declared type, depending on configurationcache - Whether resulting value serializer should be cached or not; this is just
a hint
抛出:
从以下版本开始:
1.5
findTypedValueSerializer
public abstract JsonSerializer findTypedValueSerializer(JavaType valueType,
boolean cache,
BeanProperty property)
throws JsonMappingException
Method called to locate regular serializer, matching type serializer,
and if both found, wrap them in a serializer that calls both in correct
sequence. This method is currently only used for root-level serializer
handling to allow for simpler caching. A call can always be replaced
by equivalent calls to access serializer and type serializer separately.
参数:valueType - Declared type of value being serialized (which may not
be actual runtime type); used for finding both value serializer and
type serializer to use for adding polymorphic type (if any)cache - Whether resulting value serializer should be cached or not; this is just
a hint
抛出:
从以下版本开始:
1.5
findKeySerializer
public abstract JsonSerializer findKeySerializer(JavaType keyType,
BeanProperty property)
throws JsonMappingException
Method called to get the serializer to use for serializing
non-null Map keys. Separation from regular
findValueSerializer(java.lang.Class>, org.codehaus.jackson.map.BeanProperty) method is because actual write
method must be different (@link JsonGenerator#writeFieldName};
but also since behavior for some key types may differ.
Note that the serializer itself can be called with instances
of any Java object, but not nulls.
findValueSerializer
@Deprecated
public final JsonSerializer findValueSerializer(Class> runtimeType)
throws JsonMappingException
已过时。 As of version 1.7, use version that exposes property object
instead of just its type (needed for contextual serializers)
Deprecated version of accessor method that was used before version 1.7.
Implemented as final to ensure that existing code does not accidentally
try to redefine it (given that it is not called by core mapper code)
findValueSerializer
@Deprecated
public final JsonSerializer findValueSerializer(JavaType serializationType)
throws JsonMappingException
已过时。 As of version 1.7, use version that exposes property object
instead of just its type (needed for contextual serializers)
Deprecated version of accessor method that was used before version 1.7.
Implemented as final to ensure that existing code does not accidentally
try to redefine it (given that it is not called by core mapper code)
findTypedValueSerializer
@Deprecated
public final JsonSerializer findTypedValueSerializer(Class> valueType,
boolean cache)
throws JsonMappingException
已过时。 As of version 1.7, use version that exposes property object
instead of just its type (needed for contextual serializers)
Deprecated version of accessor method that was used before version 1.7.
Implemented as final to ensure that existing code does not accidentally
try to redefine it (given that it is not called by core mapper code)
findTypedValueSerializer
@Deprecated
public final JsonSerializer findTypedValueSerializer(JavaType valueType,
boolean cache)
throws JsonMappingException
已过时。 As of version 1.7, use version that exposes property object
instead of just its type (needed for contextual serializers)
Deprecated version of accessor method that was used before version 1.7.
Implemented as final to ensure that existing code does not accidentally
try to redefine it (given that it is not called by core mapper code)
getKeySerializer
@Deprecated
public final JsonSerializer getKeySerializer()
throws JsonMappingException
已过时。 As of version 1.7, use version that exposes property object
instead of just its type (needed for contextual serializers)
Deprecated version of accessor method that was used before version 1.7.
Implemented as final to ensure that existing code does not accidentally
try to redefine it (given that it is not called by core mapper code)
getKeySerializer
@Deprecated
public final JsonSerializer getKeySerializer(JavaType valueType,
BeanProperty property)
throws JsonMappingException
已过时。 As of version 1.8
Deprecated version of accessor method that was used before version 1.8;
renamed as findKeySerializer(org.codehaus.jackson.type.JavaType, org.codehaus.jackson.map.BeanProperty), since process is now
more complicated than simple lookup.
getNullKeySerializer
public abstract JsonSerializer getNullKeySerializer()
Method called to get the serializer to use for serializing
Map keys that are nulls: this is needed since JSON does not allow
any non-String value as key, including null.
Typically, returned serializer
will either throw an exception, or use an empty String; but
other behaviors are possible.
getNullValueSerializer
public abstract JsonSerializer getNullValueSerializer()
Method called to get the serializer to use for serializing
values (root level, Array members or List field values)
that are nulls. Specific accessor is needed because nulls
in Java do not contain type information.
Typically returned serializer just writes out Json literal
null value.
getUnknownTypeSerializer
public abstract JsonSerializer getUnknownTypeSerializer(Class> unknownType)
Method called to get the serializer to use if provider
can not determine an actual type-specific serializer
to use; typically when none of SerializerFactory
instances are able to construct a serializer.
Typically, returned serializer will throw an exception,
although alternatively ToStringSerializer could
be returned as well.
参数:unknownType - Type for which no serializer is found
defaultSerializeValue
public final void defaultSerializeValue(Object value,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Convenience method that will serialize given value (which can be
null) using standard serializer locating functionality. It can
be called for all values including field and Map values, but usually
field values are best handled calling
defaultSerializeField(java.lang.String, java.lang.Object, org.codehaus.jackson.JsonGenerator) instead.
defaultSerializeField
public final void defaultSerializeField(String fieldName,
Object value,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Convenience method that will serialize given field with specified
value. Value may be null. Serializer is done using the usual
null) using standard serializer locating functionality.
defaultSerializeDateValue
public abstract void defaultSerializeDateValue(long timestamp,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Method that will handle serialization of Date(-like) values, using
SerializationConfig settings to determine expected serialization
behavior.
Note: date here means "full" date, that is, date AND time, as per
Java convention (and not date-only values like in SQL)
defaultSerializeDateValue
public abstract void defaultSerializeDateValue(Date date,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Method that will handle serialization of Date(-like) values, using
SerializationConfig settings to determine expected serialization
behavior.
Note: date here means "full" date, that is, date AND time, as per
Java convention (and not date-only values like in SQL)
defaultSerializeDateKey
public abstract void defaultSerializeDateKey(long timestamp,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Method that will handle serialization of Dates used as Map keys,
based on SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS
value (and if using textual representation, configured date format)
defaultSerializeDateKey
public abstract void defaultSerializeDateKey(Date date,
JsonGenerator jgen)
throws IOException,
JsonProcessingException
Method that will handle serialization of Dates used as Map keys,
based on SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS
value (and if using textual representation, configured date format)
defaultSerializeNull
public final void defaultSerializeNull(JsonGenerator jgen)
throws IOException,
JsonProcessingException
cachedSerializersCount
public abstract int cachedSerializersCount()
Method that can be used to determine how many serializers this
provider is caching currently
(if it does caching: default implementation does)
Exact count depends on what kind of serializers get cached;
default implementation caches all serializers, including ones that
are eagerly constructed (for optimal access speed)
The main use case for this method is to allow conditional flushing of
serializer cache, if certain number of entries is reached.
从以下版本开始:
1.4
flushCachedSerializers
public abstract void flushCachedSerializers()
Method that will drop all serializers currently cached by this provider.
This can be used to remove memory usage (in case some serializers are
only used once or so), or to force re-construction of serializers after
configuration changes for mapper than owns the provider.
从以下版本开始:
1.4