java.lang.Object | ||
↳ | java.lang.Enum<E extends java.lang.Enum<E>> | |
↳ | com.fasterxml.jackson.core.JsonGenerator.Feature |
Enumeration that defines all togglable features for generators.
Enum Values | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
JsonGenerator.Feature | AUTO_CLOSE_JSON_CONTENT | Feature that determines what happens when the generator is
closed while there are still unmatched
START_ARRAY or START_OBJECT
entries in output content. |
|||||||||
JsonGenerator.Feature | AUTO_CLOSE_TARGET | Feature that determines whether generator will automatically close underlying output target that is NOT owned by the generator. | |||||||||
JsonGenerator.Feature | ESCAPE_NON_ASCII | Feature that specifies that all characters beyond 7-bit ASCII range (i.e. | |||||||||
JsonGenerator.Feature | FLUSH_PASSED_TO_STREAM | Feature that specifies that calls to flush() will cause
matching flush() to underlying OutputStream
or Writer ; if disabled this will not be done. |
|||||||||
JsonGenerator.Feature | QUOTE_FIELD_NAMES | Feature that determines whether JSON Object field names are quoted using double-quotes, as specified by JSON specification or not. | |||||||||
JsonGenerator.Feature | QUOTE_NON_NUMERIC_NUMBERS | Feature that determines whether "exceptional" (not real number) float/double values are output as quoted strings. | |||||||||
JsonGenerator.Feature | WRITE_NUMBERS_AS_STRINGS | Feature that forces all Java numbers to be written as JSON strings. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Method that calculates bit set (flags) of all features that
are enabled by default.
| |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Feature that determines what happens when the generator is
closed while there are still unmatched
START_ARRAY
or START_OBJECT
entries in output content. If enabled, such Array(s) and/or
Object(s) are automatically closed; if disabled, nothing
specific is done.
Feature is enabled by default.
Feature that determines whether generator will automatically
close underlying output target that is NOT owned by the
generator.
If disabled, calling application has to separately
close the underlying OutputStream
and Writer
instances used to create the generator. If enabled, generator
will handle closing, as long as generator itself gets closed:
this happens when end-of-input is encountered, or generator
is closed by a call to close()
.
Feature is enabled by default.
Feature that specifies that all characters beyond 7-bit ASCII range (i.e. code points of 128 and above) need to be output using format-specific escapes (for JSON, backslash escapes), if format uses escaping mechanisms (which is generally true for textual formats but not for binary formats).
Feature is disabled by default.
Feature that specifies that calls to flush()
will cause
matching flush()
to underlying OutputStream
or Writer
; if disabled this will not be done.
Main reason to disable this feature is to prevent flushing at
generator level, if it is not possible to prevent method being
called by other code (like ObjectMapper
or third
party libraries).
Feature is enabled by default.
Feature that determines whether JSON Object field names are quoted using double-quotes, as specified by JSON specification or not. Ability to disable quoting was added to support use cases where they are not usually expected, which most commonly occurs when used straight from Javascript.
Feature is enabled by default (since it is required by JSON specification).
Feature that determines whether "exceptional" (not real number) float/double values are output as quoted strings. The values checked are Double.Nan, Double.POSITIVE_INFINITY and Double.NEGATIVE_INIFINTY (and associated Float values). If feature is disabled, these numbers are still output using associated literal values, resulting in non-conformant output.
Feature is enabled by default.
Feature that forces all Java numbers to be written as JSON strings. Default state is 'false', meaning that Java numbers are to be serialized using basic numeric serialization (as JSON numbers, integral or floating point). If enabled, all such numeric values are instead written out as JSON Strings.
One use case is to avoid problems with Javascript limitations: since Javascript standard specifies that all number handling should be done using 64-bit IEEE 754 floating point values, result being that some 64-bit integer values can not be accurately represent (as mantissa is only 51 bit wide).
Feature is disabled by default.
Method that calculates bit set (flags) of all features that are enabled by default.