Package jodd.json
Class JsonSerializer
- java.lang.Object
-
- jodd.json.JsonSerializer
-
- Direct Known Subclasses:
PrettyJsonSerializer
public class JsonSerializer extends java.lang.ObjectJSON serializer.- See Also:
PrettyJsonSerializer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJsonSerializer.Defaults
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringclassMetadataNameprotected booleandeepprotected java.lang.String[]excludedTypeNamesprotected java.lang.Class[]excludedTypesprotected booleanexcludeEmptyprotected booleanexcludeNullsprotected java.util.Map<Path,TypeJsonSerializer>pathSerializersMapprotected jodd.util.InExRules<Path,PathQuery>rulesprotected java.util.function.Function<java.lang.Object,TypeJsonSerializer>serializerResolverprotected booleanstrictStringEncodingprotected TypeJsonSerializerMaptypeSerializersMap
-
Constructor Summary
Constructors Constructor Description JsonSerializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JsonSerializercreate()Static ctor.JsonContextcreateJsonContext(java.lang.Appendable appendable)Creates new JSON context.static PrettyJsonSerializercreatePrettyOne()Static ctor forPrettyJsonSerializer.JsonSerializerdeep(boolean includeCollections)Defines if collections should be followed, i.e.JsonSerializerexclude(boolean includeParent, java.lang.String... excludes)Adds excludes with optional parent including.JsonSerializerexclude(java.lang.String exclude)Adds exclude path query.JsonSerializerexclude(java.lang.String... excludes)Adds a list of excluded path queries.JsonSerializerexcludeEmpty(boolean excludeEmpty)Excludes empty maps and collections.JsonSerializerexcludeNulls(boolean excludeNulls)Excludesnullvalues while serializing.JsonSerializerexcludeTypes(java.lang.Class... types)Excludes types.JsonSerializerexcludeTypes(java.lang.String... typeNames)Excludes type names.JsonSerializerinclude(java.lang.String include)Adds include path query.JsonSerializerinclude(java.lang.String... includes)Adds a list of included path queries.JsonSerializeronValue(java.util.function.Function<java.lang.Object,TypeJsonSerializer> function)Defines callback for value serialization.java.lang.Stringserialize(java.lang.Object source)Serializes object into source.voidserialize(java.lang.Object source, java.lang.Appendable target)Serializes object into provided appendable.JsonSerializersetClassMetadataName(java.lang.String name)Sets local class meta-data name.JsonSerializerstrictStringEncoding(boolean strictStringEncoding)Specifies strict string encoding.JsonSerializerwithClassMetadata(boolean useMetadata)Sets local class meta-data name.JsonSerializerwithSerializer(java.lang.Class type, TypeJsonSerializer typeJsonSerializer)Defines customTypeJsonSerializerfor given type.JsonSerializerwithSerializer(java.lang.String pathString, TypeJsonSerializer typeJsonSerializer)Defines customTypeJsonSerializerfor given path.
-
-
-
Field Detail
-
pathSerializersMap
protected java.util.Map<Path,TypeJsonSerializer> pathSerializersMap
-
typeSerializersMap
protected TypeJsonSerializerMap typeSerializersMap
-
classMetadataName
protected java.lang.String classMetadataName
-
strictStringEncoding
protected boolean strictStringEncoding
-
deep
protected boolean deep
-
excludedTypes
protected java.lang.Class[] excludedTypes
-
excludedTypeNames
protected java.lang.String[] excludedTypeNames
-
excludeNulls
protected boolean excludeNulls
-
excludeEmpty
protected boolean excludeEmpty
-
serializerResolver
protected java.util.function.Function<java.lang.Object,TypeJsonSerializer> serializerResolver
-
-
Method Detail
-
create
public static JsonSerializer create()
Static ctor.
-
createPrettyOne
public static PrettyJsonSerializer createPrettyOne()
Static ctor forPrettyJsonSerializer.
-
withSerializer
public JsonSerializer withSerializer(java.lang.String pathString, TypeJsonSerializer typeJsonSerializer)
Defines customTypeJsonSerializerfor given path.
-
withSerializer
public JsonSerializer withSerializer(java.lang.Class type, TypeJsonSerializer typeJsonSerializer)
Defines customTypeJsonSerializerfor given type.
-
include
public JsonSerializer include(java.lang.String include)
Adds include path query.
-
include
public JsonSerializer include(java.lang.String... includes)
Adds a list of included path queries.
-
exclude
public JsonSerializer exclude(java.lang.String exclude)
Adds exclude path query.
-
exclude
public JsonSerializer exclude(java.lang.String... excludes)
Adds a list of excluded path queries.
-
exclude
public JsonSerializer exclude(boolean includeParent, java.lang.String... excludes)
Adds excludes with optional parent including. When parents are included, for each exclude query its parent will be included. For example, exclude of 'aaa.bb.ccc' would include it's parent: 'aaa.bb'.
-
setClassMetadataName
public JsonSerializer setClassMetadataName(java.lang.String name)
Sets local class meta-data name.
-
withClassMetadata
public JsonSerializer withClassMetadata(boolean useMetadata)
Sets local class meta-data name.
-
deep
public JsonSerializer deep(boolean includeCollections)
Defines if collections should be followed, i.e. to perform deep serialization.
-
excludeTypes
public JsonSerializer excludeTypes(java.lang.String... typeNames)
Excludes type names. You can disable serialization of properties that are of some type. For example, you can disable properties ofInputStream. You can use wildcards to describe type names.
-
excludeTypes
public JsonSerializer excludeTypes(java.lang.Class... types)
Excludes types. Supports interfaces and subclasses as well.
-
excludeNulls
public JsonSerializer excludeNulls(boolean excludeNulls)
Excludesnullvalues while serializing.
-
excludeEmpty
public JsonSerializer excludeEmpty(boolean excludeEmpty)
Excludes empty maps and collections.
-
strictStringEncoding
public JsonSerializer strictStringEncoding(boolean strictStringEncoding)
Specifies strict string encoding.
-
onValue
public JsonSerializer onValue(java.util.function.Function<java.lang.Object,TypeJsonSerializer> function)
Defines callback for value serialization. It defines the instance ofTypeJsonSerializerto be used with the value. Ifnullis returned, default serializer will be resolved.
-
serialize
public void serialize(java.lang.Object source, java.lang.Appendable target)Serializes object into provided appendable.
-
serialize
public java.lang.String serialize(java.lang.Object source)
Serializes object into source.
-
createJsonContext
public JsonContext createJsonContext(java.lang.Appendable appendable)
Creates new JSON context.
-
-