java.lang.Object
org.jooq.JSONFormat
A JSON formatting type, which can be used to configure JSON imports /
exports.
The default format is the following, using header()
equal to
true
and applying JSONFormat.RecordFormat.ARRAY
:
{"fields":[{"name":"field-1","type":"type-1"},
{"name":"field-2","type":"type-2"},
...,
{"name":"field-n","type":"type-n"}],
"records":[[value-1-1,value-1-2,...,value-1-n],
[value-2-1,value-2-2,...,value-2-n]]}
If header()
is set to false
, then the result is simply
the records array, either using JSONFormat.RecordFormat.ARRAY
:
[[value-1-1,value-1-2,...,value-1-n],
[value-2-1,value-2-2,...,value-2-n]]
or, using JSONFormat.RecordFormat.OBJECT
:
[{"field-1": value-1-1, "field-2": value-1-2,..., "field-n": value-1-n},
{"field-1": value-2-1, "field-2": value-2-2,..., "field-n": value-2-n}]
The type is immutable, meaning calls to setters like header(boolean)
do not modify the original reference, but return a new one instead.
- Author:
- Lukas Eder
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The format of binary values in JSON documents.static enum
The format ofnull
values in JSON objects or arrays.static enum
The format of individual JSON records. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal @NotNull JSONFormat.NullFormat
The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
.final @NotNull JSONFormat
arrayNulls
(JSONFormat.NullFormat newArrayNulls) The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
.final JSONFormat.BinaryFormat
TheJSONFormat.BinaryFormat
to use when formatting binary data.final @NotNull JSONFormat
binaryFormat
(JSONFormat.BinaryFormat newBinaryFormat) TheJSONFormat.BinaryFormat
to use when formatting binary data.final boolean
format()
The formatting flag.final @NotNull JSONFormat
format
(boolean newFormat) The new value for the formatting flag, defaulting tofalse
.final int
The global indentation applied on all levels.final @NotNull JSONFormat
globalIndent
(int newGlobalIndent) The new global indentation size applied on all levels, defaulting to0
.final boolean
header()
Whether to emit a header row with column names, defaulting totrue
.final @NotNull JSONFormat
header
(boolean newHeader) Whether to emit a header row with column names, defaulting totrue
.final int
indent()
The indentation size per level.final @NotNull JSONFormat
indent
(int newIndent) The new indentation size per level value, defaulting to2
.final @NotNull String
indentString
(int level) Convenience method to get an indentation string at a given level.final boolean
WhetherDouble.POSITIVE_INFINITY
,Double.NEGATIVE_INFINITY
,Float.POSITIVE_INFINITY
, andFloat.NEGATIVE_INFINITY
values should be formatted as"Infinity"
or"-Infinity"
strings.final @NotNull JSONFormat
infinityAsString
(boolean newInfinityAsString) WhetherDouble.POSITIVE_INFINITY
,Double.NEGATIVE_INFINITY
,Float.POSITIVE_INFINITY
, andFloat.NEGATIVE_INFINITY
values should be formatted as"Infinity"
or"-Infinity"
strings.final boolean
mutable()
Whether this configuration object is mutable.final @NotNull JSONFormat
mutable
(boolean newMutable) The new value for the mutable flag, defaulting tofalse
.final boolean
final @NotNull JSONFormat
nanAsString
(boolean newNanAsString) final @NotNull String
newline()
The formatting flag.final @NotNull JSONFormat
The new newline character, defaulting to\n
.final @NotNull JSONFormat.NullFormat
The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
.final @NotNull JSONFormat
objectNulls
(JSONFormat.NullFormat newObjectNulls) The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
.final boolean
final @NotNull JSONFormat
quoteNested
(boolean newQuoteNested) final @NotNull JSONFormat.RecordFormat
The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY
.final @NotNull JSONFormat
recordFormat
(JSONFormat.RecordFormat newRecordFormat) The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY
.final boolean
Whether to wrap single column records in therecordFormat()
.final @NotNull JSONFormat
wrapSingleColumnRecords
(boolean newWrapSingleColumnRecords) Whether to wrap single column records in therecordFormat()
.
-
Field Details
-
DEFAULT_FOR_RESULTS
-
DEFAULT_FOR_RECORDS
-
-
Constructor Details
-
JSONFormat
public JSONFormat()
-
-
Method Details
-
mutable
public final boolean mutable()Whether this configuration object is mutable. -
mutable
The new value for the mutable flag, defaulting tofalse
. -
format
The new value for the formatting flag, defaulting tofalse
. -
format
public final boolean format()The formatting flag. -
newline
The new newline character, defaulting to\n
. -
newline
The formatting flag. -
globalIndent
The new global indentation size applied on all levels, defaulting to0
. -
globalIndent
public final int globalIndent()The global indentation applied on all levels. -
indent
The new indentation size per level value, defaulting to2
. -
indent
public final int indent()The indentation size per level. -
indentString
Convenience method to get an indentation string at a given level. -
header
Whether to emit a header row with column names, defaulting totrue
. -
header
public final boolean header()Whether to emit a header row with column names, defaulting totrue
. -
recordFormat
The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY
. -
recordFormat
The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY
. -
objectNulls
The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
. -
objectNulls
The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
. -
arrayNulls
The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
. -
arrayNulls
The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL
. -
wrapSingleColumnRecords
@NotNull public final @NotNull JSONFormat wrapSingleColumnRecords(boolean newWrapSingleColumnRecords) Whether to wrap single column records in therecordFormat()
. -
wrapSingleColumnRecords
public final boolean wrapSingleColumnRecords()Whether to wrap single column records in therecordFormat()
. -
quoteNested
-
quoteNested
public final boolean quoteNested() -
nanAsString
WhetherDouble.NaN
andFloat.NaN
values should be formatted as"NaN"
strings. The default is to format them asnull
, as JSON doesn't supportNaN
values. -
nanAsString
public final boolean nanAsString()WhetherDouble.NaN
andFloat.NaN
values should be formatted as"NaN"
strings. The default is to format them asnull
, as JSON doesn't supportNaN
values. -
infinityAsString
WhetherDouble.POSITIVE_INFINITY
,Double.NEGATIVE_INFINITY
,Float.POSITIVE_INFINITY
, andFloat.NEGATIVE_INFINITY
values should be formatted as"Infinity"
or"-Infinity"
strings. The default is to format them asnull
, as JSON doesn't supportInfinity
values. -
infinityAsString
public final boolean infinityAsString()WhetherDouble.POSITIVE_INFINITY
,Double.NEGATIVE_INFINITY
,Float.POSITIVE_INFINITY
, andFloat.NEGATIVE_INFINITY
values should be formatted as"Infinity"
or"-Infinity"
strings. The default is to format them asnull
, as JSON doesn't supportInfinity
values. -
binaryFormat
TheJSONFormat.BinaryFormat
to use when formatting binary data. -
binaryFormat
TheJSONFormat.BinaryFormat
to use when formatting binary data.
-