Class Json5lSerializer
- All Implemented Interfaces:
Function<Object,,String> ThrowingFunction<Object,,String> JsonMetaProvider,ArrayRecordWritable,RecordWritable,TokenWritable
Media types
Handles
Produces
Description
JSON5L combines the relaxed JSON5 dialect with JSONL's newline-delimited framing: each top-level
value is written as a compact document on its own line, exactly as JsonlSerializer does.
By default the per-line output is strict RFC-8259 JSON (byte-identical to
JsonlSerializer), keeping output maximally portable. The json5Sugar() opt-in switches the per-line output to JSON5 sugar (single-quoted strings, unquoted
field names where safe).
Example:
Example output, sugar off (List of beans):
{"name":"Alice","age":30} {"name":"Bob","age":25}
Example output, sugar on:
{name:'Alice',age:30} {name:'Bob',age:25}
Notes:
- This class is thread safe and reusable.
See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.juneau.marshall.json.JsonSerializer
JsonSerializer.DefaultBuilder, JsonSerializer.ReadableNested classes/interfaces inherited from class org.apache.juneau.marshall.serializer.Serializer
Serializer.Null -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Json5lSerializerDefault serializer, strict-JSON-per-line.Fields inherited from class org.apache.juneau.marshall.json.JsonSerializer
addBeanTypesJson, DEFAULT_READABLE, escapeSolidusFields inherited from class org.apache.juneau.marshall.serializer.WriterSerializer
maxIndent, quoteChar, quoteCharOverride, useWhitespaceFields inherited from class org.apache.juneau.marshall.serializer.Serializer
accept, addBeanTypes, addRootType, keepNullProperties, listener, nonDefault, produces, sortCollections, sortMaps, trimEmptyCollections, trimEmptyMaps, trimStringsFields inherited from class org.apache.juneau.marshall.MarshallingContextable
marshallingContextFields inherited from class org.apache.juneau.marshall.Context
CONTEXT_APPLY_FILTER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a builder from this context object.static Json5lSerializer.Buildercreate()Creates a new builder for this object.Create a session builder based on the properties defined on this context.Returns a session to use for this context.booleanReturnstrue if this serializer emits JSON5 sugar on each line.Methods inherited from class org.apache.juneau.marshall.json.JsonSerializer
getJsonBeanPropertyMeta, getJsonClassMeta, getSchemaSerializer, isAddBeanTypes, isEscapeSolidus, properties, writeArrayRecords, writeTokensMethods inherited from class org.apache.juneau.marshall.serializer.WriterSerializer
applyThrows, getMaxIndent, getQuoteChar, getStreamCharset, isUseWhitespace, isWriterSerializer, println, quoteChar, toString, writeMethods inherited from class org.apache.juneau.marshall.serializer.Serializer
createSerializerBuilder, doWrite, forEachAcceptMediaType, getListener, getMediaTypeRanges, getPrimaryMediaType, getResponseContentType, getResponseHeaders, getUriContext, getUriRelativity, getUriResolution, isAddRootType, isKeepNullProperties, isNonDefault, isSortCollections, isSortMaps, isTrimEmptyCollections, isTrimEmptyMaps, isTrimStrings, write, writeToStringMethods inherited from class org.apache.juneau.marshall.MarshallingTraverseContext
getDetectRecursions, getIgnoreRecursions, getInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursions, shouldDetectRecursionsMethods inherited from class org.apache.juneau.marshall.MarshallingContextable
getDurationFormat, getMarshallingContext, getPeriodFormatMethods inherited from class org.apache.juneau.marshall.Context
createBuilder, getAnnotationProvider, init, isDebug, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.juneau.marshall.stream.ArrayRecordWritable
isArrayRecordStreaming, writeArrayRecordsMethods inherited from interface org.apache.juneau.marshall.stream.RecordWritable
isRecordStreamingMethods inherited from interface org.apache.juneau.commons.function.ThrowingFunction
applyMethods inherited from interface org.apache.juneau.marshall.stream.TokenWritable
writeRecords
-
Field Details
-
DEFAULT
Default serializer, strict-JSON-per-line.
-
-
Constructor Details
-
Json5lSerializer
Constructor.- Parameters:
builder- The builder for this object.
-
-
Method Details
-
create
Creates a new builder for this object.- Returns:
- A new builder.
-
isJson5Sugar
Returnstrue if this serializer emits JSON5 sugar on each line.- Returns:
true if JSON5 sugar is enabled.
-
copy
Description copied from class:ContextCreates a builder from this context object.Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations.
- Overrides:
copyin classJsonSerializer- Returns:
- A new Builder object.
-
createSession
Description copied from class:ContextCreate a session builder based on the properties defined on this context.Use this method for creating sessions where you want to override basic settings. Otherwise, use
Context.getSession()directly.- Overrides:
createSessionin classJsonlSerializer- Returns:
- A new session builder.
-
getSession
Description copied from class:ContextReturns a session to use for this context.Note that subclasses may opt to return a reusable non-modifiable session.
- Overrides:
getSessionin classJsonSerializer- Returns:
- A new session object.
-