Class JsonSerializer

java.lang.Object
jodd.json.JsonSerializer
Direct Known Subclasses:
PrettyJsonSerializer

public class JsonSerializer extends Object
JSON serializer.
See Also:
  • Field Details

    • pathSerializersMap

      protected Map<Path, TypeJsonSerializer> pathSerializersMap
    • typeSerializersMap

      protected TypeJsonSerializerMap typeSerializersMap
    • rules

      protected jodd.util.InExRules<Path, PathQuery> rules
    • classMetadataName

      protected String classMetadataName
    • strictStringEncoding

      protected boolean strictStringEncoding
    • deep

      protected boolean deep
    • excludedTypes

      protected Class[] excludedTypes
    • excludedTypeNames

      protected String[] excludedTypeNames
    • excludeNulls

      protected boolean excludeNulls
    • excludeEmpty

      protected boolean excludeEmpty
    • serializerResolver

      protected Function<Object, TypeJsonSerializer> serializerResolver
  • Constructor Details

    • JsonSerializer

      public JsonSerializer()
  • Method Details

    • create

      public static JsonSerializer create()
      Static ctor.
    • createPrettyOne

      public static PrettyJsonSerializer createPrettyOne()
      Static ctor for PrettyJsonSerializer.
    • withSerializer

      public JsonSerializer withSerializer(String pathString, TypeJsonSerializer typeJsonSerializer)
      Defines custom TypeJsonSerializer for given path.
    • withSerializer

      public JsonSerializer withSerializer(Class type, TypeJsonSerializer typeJsonSerializer)
      Defines custom TypeJsonSerializer for given type.
    • include

      public JsonSerializer include(String include)
      Adds include path query.
    • include

      public JsonSerializer include(String... includes)
      Adds a list of included path queries.
    • exclude

      public JsonSerializer exclude(String exclude)
      Adds exclude path query.
    • exclude

      public JsonSerializer exclude(String... excludes)
      Adds a list of excluded path queries.
    • exclude

      public JsonSerializer exclude(boolean includeParent, 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(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(String... typeNames)
      Excludes type names. You can disable serialization of properties that are of some type. For example, you can disable properties of InputStream. You can use wildcards to describe type names.
    • excludeTypes

      public JsonSerializer excludeTypes(Class... types)
      Excludes types. Supports interfaces and subclasses as well.
    • excludeNulls

      public JsonSerializer excludeNulls(boolean excludeNulls)
      Excludes null 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(Function<Object, TypeJsonSerializer> function)
      Defines callback for value serialization. It defines the instance of TypeJsonSerializer to be used with the value. If null is returned, default serializer will be resolved.
    • serialize

      public void serialize(Object source, Appendable target)
      Serializes object into provided appendable.
    • serialize

      public String serialize(Object source)
      Serializes object into source.
    • createJsonContext

      public JsonContext createJsonContext(Appendable appendable)
      Creates new JSON context.