Package io.avaje.jsonb
Interface JsonWriter
- 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.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.voidname(int position) Set the next property name to write by position.voidSet the next property name to write.voidnames(PropertyNames names) Set the current property names.voidWrite null value.path()Return the current path.voidpretty(boolean pretty) Set tp true to output json in pretty format.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.voidvalue(boolean value) Write a boolean value.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 raw content.
-
Method Details
-
serializeNulls
Set to serialise null values or not. -
serializeNulls
boolean serializeNulls()Return true if null values should be serialised. -
serializeEmpty
Set to serialise empty collections or not. -
serializeEmpty
boolean serializeEmpty()Return true if empty collections should be serialised. -
pretty
Set tp true to output json in pretty format. -
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
names(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).
-
names
Set the current property names.This is expected to be called per object after each call to
beginObject(). -
name
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
names(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. -
endObject
void endObject()Write object end. -
nullValue
void nullValue()Write null value. -
value
Write a string value. -
value
Write a boolean value. -
value
Write an int value. -
value
Write a long value. -
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. -
jsonValue
Write a value that could be any value. -
writeNewLine
void writeNewLine()Write raw content. This is typically used to write new line characters forx-json-streamcontent. -
flush
void flush()Flush the writer. -
close
void close()Close the writer.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-