- All Superinterfaces:
AutoCloseable
,Closeable
,Flushable
- All Known Subinterfaces:
BufferedJsonWriter
,BytesJsonWriter
- All Known Implementing Classes:
DelegateJsonWriter
Writes json content.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
allNames
(PropertyNames names) Set the property names that will be used for all json generation.void
Write array begin.void
Write object begin.void
beginObject
(PropertyNames names) Write object being and use the already encoded property names.void
close()
Close the writer.void
Write empty array.void
endArray()
Write array end.void
Write object end.void
flush()
Flush the writer.void
Write a value that could be any value.void
Mark the generated json as not completed due to an error.void
name
(int position) Set the next property name to write by position.void
Set the next property name to write.void
Write null value.path()
Return the current path.void
pretty
(boolean pretty) Set tp true to output json in pretty format.void
Write raw JSON content.boolean
Return true if empty collections should be serialised.void
serializeEmpty
(boolean serializeEmpty) Set to serialise empty collections or not.boolean
Return true if null values should be serialised.void
serializeNulls
(boolean serializeNulls) Set to serialise null values or not.<T> T
Unwrap the underlying generator being used.void
value
(boolean value) Write a boolean value.void
value
(byte[] value) Write binary content as base64.void
value
(double value) Write a double value.void
value
(int value) Write an int value.void
value
(long value) Write a long value.void
Write a Boolean value.void
Write a Double value.void
Write an Integer value.void
Write a Long value.void
Write a string value.void
value
(BigDecimal value) Write a BigDecimal value.void
value
(BigInteger value) Write a BigInteger value.void
Write new line characters typically forx-json-stream
content.
-
Method Details
-
unwrap
Unwrap the underlying generator being used.We do this to get access to the underlying generator. For the case when using jackson-core we get access to Jackson JsonGenerator and can then do Jackson specific things like set custom escaping.
try (JsonWriter writer = jsonb.writer(new StringWriter())) { // get access to the underlying Jackson JsonGenerator var generator = writer.unwrap(JsonGenerator.class) // do Jackson specific things like ... generator.setCharacterEscapes(new HTMLCharacterEscapes()); jsonb.toJson(myBean, writer); }
-
serializeNulls
void serializeNulls(boolean serializeNulls) Set to serialise null values or not. -
serializeNulls
boolean serializeNulls()Return true if null values should be serialised. -
serializeEmpty
void serializeEmpty(boolean serializeEmpty) Set to serialise empty collections or not. -
serializeEmpty
boolean serializeEmpty()Return true if empty collections should be serialised. -
pretty
void pretty(boolean pretty) Set tp true to output json in pretty format. -
path
String path()Return the current path. -
allNames
Set the property names that will be used for all json generation.These names should be used for all json generation for this generator and set once rather than set per object via
beginObject(PropertyNames)
(PropertyNames)}.This is used by view json generation where all the names are known at the point when the view is created (a sort of flattened nested tree).
-
name
void name(int position) Set the next property name to write by position. This uses the already encoded name values of PropertyNames. -
name
Set the next property name to write.This is generally less efficient than using
beginObject(PropertyNames)
andname(int)
. -
beginArray
void beginArray()Write array begin. -
endArray
void endArray()Write array end. -
emptyArray
void emptyArray()Write empty array. -
beginObject
void beginObject()Write object begin. -
beginObject
Write object being and use the already encoded property names. -
endObject
void endObject()Write object end. -
nullValue
void nullValue()Write null value. -
value
Write a string value. -
value
void value(boolean value) Write a boolean value. -
value
void value(int value) Write an int value. -
value
void value(long value) Write a long value. -
value
void value(double value) Write a double value. -
value
Write a Boolean value. -
value
Write an Integer value. -
value
Write a Long value. -
value
Write a Double value. -
value
Write a BigDecimal value. -
value
Write a BigInteger value. -
value
void value(byte[] value) Write binary content as base64. -
jsonValue
Write a value that could be any value. -
rawValue
Write raw JSON content. -
writeNewLine
void writeNewLine()Write new line characters typically forx-json-stream
content. -
flush
void flush()Flush the writer. -
close
void close()Close the writer.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
markIncomplete
void markIncomplete()Mark the generated json as not completed due to an error.This typically means not to flush or close an underlying OutputStream which allows it to be reset to then write some error response content instead.
-