Enum Class JsonWriteFeature

java.lang.Object
java.lang.Enum<JsonWriteFeature>
tools.jackson.core.json.JsonWriteFeature
All Implemented Interfaces:
Serializable, Comparable<JsonWriteFeature>, Constable, FormatFeature, JacksonFeature

public enum JsonWriteFeature extends Enum<JsonWriteFeature> implements FormatFeature
Token writer features specific to JSON backend.
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Feature that specifies how characters outside "Basic Multilingual Plane" (BMP) -- ones encoded as 4-byte UTF-8 sequences but represented in JVM memory as 2 16-bit "surrogate" chars -- should be encoded as UTF-8 by JsonGenerator.
    Feature that specifies whether JsonGenerator should escape forward slashes (unless overridden by custom escaping (see CharacterEscapes)).
    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 that determines whether JSON Object property names are quoted using double-quotes, as specified by JSON specification or not.
    Feature that specifies that hex values are encoded with capital letters.
    Feature that determines whether "NaN" ("not a number", that is, not real number) float/double values are output as JSON strings.
    Feature that forces all regular number values to be written as JSON Strings, instead of as JSON Numbers.
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    Method that calculates bit set (flags) of all features that are enabled by default.
    boolean
    Accessor for checking whether this feature is enabled by default.
    boolean
    enabledIn(int flags)
    Convenience method for checking whether feature is enabled in given bitmask.
    int
    Returns bit mask for this feature instance; must be a single bit, that is of form 1 << N.
    Returns the enum constant of this class with the specified name.
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • QUOTE_PROPERTY_NAMES

      public static final JsonWriteFeature QUOTE_PROPERTY_NAMES
      Feature that determines whether JSON Object property 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.

      Note: in Jackson 2.x, was called QUOTE_FIELD_NAMES

      Feature is enabled by default (since it is required by JSON specification).

    • WRITE_NAN_AS_STRINGS

      public static final JsonWriteFeature WRITE_NAN_AS_STRINGS
      Feature that determines whether "NaN" ("not a number", that is, not real number) float/double values are output as JSON 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-conforming output.

      Feature is enabled by default.

    • COMBINE_UNICODE_SURROGATES_IN_UTF8

      public static final JsonWriteFeature COMBINE_UNICODE_SURROGATES_IN_UTF8
      Feature that specifies how characters outside "Basic Multilingual Plane" (BMP) -- ones encoded as 4-byte UTF-8 sequences but represented in JVM memory as 2 16-bit "surrogate" chars -- should be encoded as UTF-8 by JsonGenerator. If enabled, surrogate pairs are combined and flushed as a single, 4-byte UTF-8 character. If disabled, each char of pair is written as 2 separate characters: that is, as 2 separate 3-byte UTF-8 characters with values in Surrogate character ranges (0xD800 - 0xDBFF and 0xDC00 - 0xDFFF)

      Note that this feature only has effect for JsonGenerators that directly encode byte-based output, as UTF-8 (target OutputStream, byte[] and so on); it will not (cannot) change handling of char-based output (like Writer or String).

      Feature is enabled by default in Jackson 3.0 (was disabled in 2.x).

    • ESCAPE_FORWARD_SLASHES

      public static final JsonWriteFeature ESCAPE_FORWARD_SLASHES
      Feature that specifies whether JsonGenerator should escape forward slashes (unless overridden by custom escaping (see CharacterEscapes)).

      Feature is disabled by default.

    • ESCAPE_NON_ASCII

      public static final JsonWriteFeature ESCAPE_NON_ASCII
      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.

    • WRITE_HEX_UPPER_CASE

      public static final JsonWriteFeature WRITE_HEX_UPPER_CASE
      Feature that specifies that hex values are encoded with capital letters.

      Can be disabled to have a better possibility to compare between other JSON writer libraries, such as JSON.stringify from Javascript.

      Feature is enabled by default.

    • WRITE_NUMBERS_AS_STRINGS

      public static final JsonWriteFeature WRITE_NUMBERS_AS_STRINGS
      Feature that forces all regular number values to be written as JSON Strings, instead of as JSON Numbers. Default state is 'false', meaning that Java numbers are to be serialized using basic numeric representation but if enabled all such numeric values are instead written out as JSON Strings instead.

      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 cannot be accurately represent (as mantissa is only 51 bit wide).

      Feature is disabled by default.

  • Method Details

    • values

      public static JsonWriteFeature[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static JsonWriteFeature valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • collectDefaults

      public static int collectDefaults()
      Method that calculates bit set (flags) of all features that are enabled by default.
      Returns:
      Bit mask of all features that are enabled by default
    • enabledByDefault

      public boolean enabledByDefault()
      Description copied from interface: JacksonFeature
      Accessor for checking whether this feature is enabled by default.
      Specified by:
      enabledByDefault in interface JacksonFeature
      Returns:
      Whether this instance is enabled by default or not
    • getMask

      public int getMask()
      Description copied from interface: JacksonFeature
      Returns bit mask for this feature instance; must be a single bit, that is of form 1 << N.
      Specified by:
      getMask in interface JacksonFeature
      Returns:
      Bit mask of this feature
    • enabledIn

      public boolean enabledIn(int flags)
      Description copied from interface: JacksonFeature
      Convenience method for checking whether feature is enabled in given bitmask.
      Specified by:
      enabledIn in interface JacksonFeature
      Parameters:
      flags - Bitfield that contains a set of enabled features of this type
      Returns:
      True if this feature is enabled in passed bit field