- All Superinterfaces:
 AutoCloseable,Closeable,Flushable
- All Known Subinterfaces:
 BufferedJsonWriter,BytesJsonWriter
- All Known Implementing Classes:
 DelegateJsonWriter
Writes json content.
- 
Method Summary
Modifier and TypeMethodDescriptionvoidallNames(PropertyNames names) Set the property names that will be used for all json generation.voidWrite array begin.voidWrite object begin.voidbeginObject(PropertyNames names) Write object being and use the already encoded property names.voidclose()Close the writer.voidWrite empty array.voidendArray()Write array end.voidWrite object end.voidflush()Flush the writer.voidWrite a value that could be any value.voidMark the generated json as not completed due to an error.voidname(int position) Set the next property name to write by position.voidSet the next property name to write.voidWrite null value.path()Return the current path.voidpretty(boolean pretty) Set tp true to output json in pretty format.voidWrite raw JSON content.booleanReturn true if empty collections should be serialised.voidserializeEmpty(boolean serializeEmpty) Set to serialise empty collections or not.booleanReturn true if null values should be serialised.voidserializeNulls(boolean serializeNulls) Set to serialise null values or not.<T> TUnwrap the underlying generator being used.voidvalue(boolean value) Write a boolean value.voidvalue(byte[] value) Write binary content as base64.voidvalue(double value) Write a double value.voidvalue(int value) Write an int value.voidvalue(long value) Write a long value.voidWrite a Boolean value.voidWrite a Double value.voidWrite an Integer value.voidWrite a Long value.voidWrite a string value.voidvalue(BigDecimal value) Write a BigDecimal value.voidvalue(BigInteger value) Write a BigInteger value.voidWrite new line characters typically forx-json-streamcontent. 
- 
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-streamcontent. - 
flush
void flush()Flush the writer. - 
close
void close()Close the writer.- Specified by:
 closein interfaceAutoCloseable- Specified by:
 closein 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.
 
 -