Package jodd.json
Class JsonSerializer
- java.lang.Object
-
- jodd.json.JsonSerializer
-
- Direct Known Subclasses:
PrettyJsonSerializer
public class JsonSerializer extends java.lang.Object
JSON serializer.- See Also:
PrettyJsonSerializer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JsonSerializer.Defaults
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
classMetadataName
protected boolean
deep
protected java.lang.String[]
excludedTypeNames
protected java.lang.Class[]
excludedTypes
protected boolean
excludeEmpty
protected boolean
excludeNulls
protected java.util.Map<Path,TypeJsonSerializer>
pathSerializersMap
protected jodd.util.InExRules<Path,PathQuery>
rules
protected java.util.function.Function<java.lang.Object,TypeJsonSerializer>
serializerResolver
protected boolean
strictStringEncoding
protected TypeJsonSerializerMap
typeSerializersMap
-
Constructor Summary
Constructors Constructor Description JsonSerializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JsonSerializer
create()
Static ctor.JsonContext
createJsonContext(java.lang.Appendable appendable)
Creates new JSON context.static PrettyJsonSerializer
createPrettyOne()
Static ctor forPrettyJsonSerializer
.JsonSerializer
deep(boolean includeCollections)
Defines if collections should be followed, i.e.JsonSerializer
exclude(boolean includeParent, java.lang.String... excludes)
Adds excludes with optional parent including.JsonSerializer
exclude(java.lang.String exclude)
Adds exclude path query.JsonSerializer
exclude(java.lang.String... excludes)
Adds a list of excluded path queries.JsonSerializer
excludeEmpty(boolean excludeEmpty)
Excludes empty maps and collections.JsonSerializer
excludeNulls(boolean excludeNulls)
Excludesnull
values while serializing.JsonSerializer
excludeTypes(java.lang.Class... types)
Excludes types.JsonSerializer
excludeTypes(java.lang.String... typeNames)
Excludes type names.JsonSerializer
include(java.lang.String include)
Adds include path query.JsonSerializer
include(java.lang.String... includes)
Adds a list of included path queries.JsonSerializer
onValue(java.util.function.Function<java.lang.Object,TypeJsonSerializer> function)
Defines callback for value serialization.java.lang.String
serialize(java.lang.Object source)
Serializes object into source.void
serialize(java.lang.Object source, java.lang.Appendable target)
Serializes object into provided appendable.JsonSerializer
setClassMetadataName(java.lang.String name)
Sets local class meta-data name.JsonSerializer
strictStringEncoding(boolean strictStringEncoding)
Specifies strict string encoding.JsonSerializer
withClassMetadata(boolean useMetadata)
Sets local class meta-data name.JsonSerializer
withSerializer(java.lang.Class type, TypeJsonSerializer typeJsonSerializer)
Defines customTypeJsonSerializer
for given type.JsonSerializer
withSerializer(java.lang.String pathString, TypeJsonSerializer typeJsonSerializer)
Defines customTypeJsonSerializer
for 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 customTypeJsonSerializer
for given path.
-
withSerializer
public JsonSerializer withSerializer(java.lang.Class type, TypeJsonSerializer typeJsonSerializer)
Defines customTypeJsonSerializer
for 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)
Excludesnull
values 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 ofTypeJsonSerializer
to be used with the value. Ifnull
is 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.
-
-