Package: groovy.json

## [Java] Class DefaultJsonGenerator

- groovy.json.DefaultJsonGenerator

- All Implemented Interfaces and Traits:
    JsonGenerator

      public class DefaultJsonGenerator
      extends Object
      implements JsonGenerator

  A JsonGenerator that can be configured with various JsonGenerator.Options. If the default options are sufficient consider using the static `JsonOutput.toJson` methods.

  See Also:
    JsonGenerator.Options#build()
  Since:
    2.5.0

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `protected static class` | `DefaultJsonGenerator.ClosureConverter` | A converter that handles converting a given type using a closure.

  - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected Set<Converter>` | `converters` | Converters consulted before applying the default JSON serialization rules.
    `protected String` | `dateFormat` | Date format pattern used when serializing Date values.
    `protected Locale` | `dateLocale` | Locale used when formatting Date values.
    `protected boolean` | `disableUnicodeEscaping` | Indicates whether Unicode characters are emitted without escaping.
    `protected boolean` | `excludeNulls` | Indicates whether `null` values are omitted from the output.
    `protected Set<String>` | `excludedFieldNames` | Field names excluded from generated JSON objects.
    `protected Set<Class<?>>` | `excludedFieldTypes` | Field types excluded from generated JSON objects.
    `protected TimeZone` | `timezone` | Time zone used when formatting Date values.

  - ### Constructor Summary

    Constructors
    Constructor and description
    `protected DefaultJsonGenerator(Options options)` Creates a generator from the supplied serialization options.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected Converter` | `findConverter(Class<?> type)` Finds a converter that can handle the given type.
    `` | `protected Map<?, ?>` | `getObjectProperties(Object object)` Collects the public readable properties of the given object for JSON object serialization.
    `` | `public boolean` | `isExcludingFieldsNamed(String name)` * Indicates whether this JsonGenerator is configured to exclude fields by * the given name. * * Parameters: `name` - of the field * Returns: true if that field is being excluded, else false
    `` | `public boolean` | `isExcludingValues(Object value)` * Indicates whether this JsonGenerator is configured to exclude values * of the given object (may be `null`). * * Parameters: `value` - an instance of an object * Returns: true if values like this are being excluded, else false
    `` | `protected boolean` | `shouldExcludeType(Class<?> type)` Indicates whether the given type should be excluded from the generated output.
    `` | `public String` | `toJson(Object object)` * Converts an object to its JSON representation. * * Parameters: `object` - to convert to JSON * Returns: JSON
    `` | `protected void` | `writeArray(Class<?> arrayClass, Object array, CharBuf buffer)` Serializes array and writes it into specified buffer.
    `` | `protected void` | `writeCharSequence(CharSequence seq, CharBuf buffer)` Serializes any char sequence and writes it into specified buffer.
    `` | `protected void` | `writeDate(Date date, CharBuf buffer)` Serializes date and writes it into specified buffer.
    `` | `protected void` | `writeIterator(Iterator<?> iterator, CharBuf buffer)` Serializes iterator and writes it into specified buffer.
    `` | `protected void` | `writeMap(Map<?, ?> map, CharBuf buffer)` Serializes map and writes it into specified buffer.
    `` | `protected void` | `writeMapEntry(String key, Object value, CharBuf buffer)` Serializes a map entry and writes it into specified buffer.
    `` | `protected void` | `writeNumber(Class<?> numberClass, Number value, CharBuf buffer)` Serializes Number value and writes it into specified buffer.
    `` | `protected void` | `writeObject(Object object, CharBuf buffer)` Serializes an unnamed value and writes it into the specified buffer.
    `` | `protected void` | `writeObject(String key, Object object, CharBuf buffer)` Serializes object and writes it into specified buffer.
    `` | `protected void` | `writeRaw(CharSequence seq, CharBuf buffer)` Serializes any char sequence and writes it into specified buffer without performing any manipulation of the given text.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### protected final Set<Converter> converters

      Converters consulted before applying the default JSON serialization rules.

    - #### protected final String dateFormat

      Date format pattern used when serializing Date values.

    - #### protected final Locale dateLocale

      Locale used when formatting Date values.

    - #### protected final boolean disableUnicodeEscaping

      Indicates whether Unicode characters are emitted without escaping.

    - #### protected final boolean excludeNulls

      Indicates whether `null` values are omitted from the output.

    - #### protected final Set<String> excludedFieldNames

      Field names excluded from generated JSON objects.

    - #### protected final Set<Class<?>> excludedFieldTypes

      Field types excluded from generated JSON objects.

    - #### protected final TimeZone timezone

      Time zone used when formatting Date values.

  - ### Constructor Detail

    - #### protected DefaultJsonGenerator(Options options)

      Creates a generator from the supplied serialization options.

      Parameters:
        `options` - configured generator options

  - ### Method Detail

    - #### protected Converter findConverter(Class<?> type)

      Finds a converter that can handle the given type. The first converter that reports it can handle the type is returned, based on the order in which the converters were specified. A `null` value will be returned if no suitable converter can be found for the given type.

      Parameters:
        `type` - that this converter can handle
      Returns:
        first converter that can handle the given type; else `null` if no compatible converters are found for the given type.

    - #### protected Map<?, ?> getObjectProperties(Object object)

      Collects the public readable properties of the given object for JSON object serialization.

      Parameters:
        `object` - the object whose properties should be collected
      Returns:
        a map of property names to values

    - #### public boolean isExcludingFieldsNamed(String name)

      * Indicates whether this JsonGenerator is configured to exclude fields by * the given name. * *

      Parameters:
        `name` - of the field *
      Returns:
        true if that field is being excluded, else false

    - #### public boolean isExcludingValues(Object value)

      * Indicates whether this JsonGenerator is configured to exclude values * of the given object (may be `null`). * *

      Parameters:
        `value` - an instance of an object *
      Returns:
        true if values like this are being excluded, else false

    - #### protected boolean shouldExcludeType(Class<?> type)

      Indicates whether the given type should be excluded from the generated output.

      Parameters:
        `type` - the type to check
      Returns:
        `true` if the given type should not be output, else `false`

    - #### public String toJson(Object object)

      * Converts an object to its JSON representation. * *

      Parameters:
        `object` - to convert to JSON *
      Returns:
        JSON

    - #### protected void writeArray(Class<?> arrayClass, Object array, CharBuf buffer)

      Serializes array and writes it into specified buffer.

    - #### protected void writeCharSequence(CharSequence seq, CharBuf buffer)

      Serializes any char sequence and writes it into specified buffer.

    - #### protected void writeDate(Date date, CharBuf buffer)

      Serializes date and writes it into specified buffer.

    - #### protected void writeIterator(Iterator<?> iterator, CharBuf buffer)

      Serializes iterator and writes it into specified buffer.

    - #### protected void writeMap(Map<?, ?> map, CharBuf buffer)

      Serializes map and writes it into specified buffer.

    - #### protected void writeMapEntry(String key, Object value, CharBuf buffer)

      Serializes a map entry and writes it into specified buffer.

    - #### protected void writeNumber(Class<?> numberClass, Number value, CharBuf buffer)

      Serializes Number value and writes it into specified buffer.

    - #### protected void writeObject(Object object, CharBuf buffer)

      Serializes an unnamed value and writes it into the specified buffer.

      Parameters:
        `object` - the value to serialize
        `buffer` - the output buffer

    - #### protected void writeObject(String key, Object object, CharBuf buffer)

      Serializes object and writes it into specified buffer.

    - #### protected void writeRaw(CharSequence seq, CharBuf buffer)

      Serializes any char sequence and writes it into specified buffer without performing any manipulation of the given text.