Package: groovy.json

## [Java] Class JsonOutput

- groovy.json.JsonOutput

- Class responsible for the actual String serialization of the possible values of a JSON structure. This class can also be used as a category, so as to add `toJson()` methods to various types.

  This class does not provide the ability to customize the resulting output. A JsonGenerator can be used if the ability to alter the resulting output is required.

  Authors:
    Guillaume Laforge
    Roshan Dawrani
    Andrey Bloschetsov
    Rick Hightower
    Graeme Rocher
  See Also:
    JsonGenerator
  Since:
    1.8.0

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `JsonOutput.JsonUnescaped` | Represents unescaped JSON

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static String` | `prettyPrint(String jsonPayload)` Pretty print a JSON payload.
    `` | `static String` | `toJson(Boolean bool)` @return "true" or "false" for a boolean value
    `` | `static String` | `toJson(Number n)` @return a string representation for a number
    `` | `static String` | `toJson(Character c)` @return a JSON string representation of the character
    `` | `static String` | `toJson(String s)` @return a properly encoded string with escape sequences
    `` | `static String` | `toJson(Date date)` Format a date that is parseable from JavaScript, according to ISO-8601.
    `` | `static String` | `toJson(Calendar cal)` Format a calendar instance that is parseable from JavaScript, according to ISO-8601.
    `` | `static String` | `toJson(UUID uuid)` @return the string representation of an uuid
    `` | `static String` | `toJson(URL url)` @return the string representation of the URL
    `` | `static String` | `toJson(Closure closure)` @return an object representation of a closure
    `` | `static String` | `toJson(Expando expando)` @return an object representation of an Expando
    `` | `static String` | `toJson(Object object)` @return "null" for a null value, or a JSON array representation for a collection, array, iterator or enumeration, or representation for other object.
    `` | `static String` | `toJson(Map m)` @return a JSON object representation for a map
    `` | `static JsonOutput.JsonUnescaped` | `unescaped(CharSequence text)` Obtains JSON unescaped text for the given text

  - ### Inherited Methods Summary

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

- - ### Method Detail

    - #### public static String prettyPrint(String jsonPayload)

      Pretty print a JSON payload.

      Parameters:
        jsonPayload
      Returns:
        a pretty representation of JSON payload.

    - #### public static String toJson(Boolean bool)

      Returns:
        "true" or "false" for a boolean value

    - #### public static String toJson(Number n)

      throws:
        JsonException if the number is infinite or not a number.
      Returns:
        a string representation for a number

    - #### public static String toJson(Character c)

      Returns:
        a JSON string representation of the character

    - #### public static String toJson(String s)

      Returns:
        a properly encoded string with escape sequences

    - #### public static String toJson(Date date)

      Format a date that is parseable from JavaScript, according to ISO-8601.

      Parameters:
        `date` - the date to format to a JSON string
      Returns:
        a formatted date in the form of a string

    - #### public static String toJson(Calendar cal)

      Format a calendar instance that is parseable from JavaScript, according to ISO-8601.

      Parameters:
        `cal` - the calendar to format to a JSON string
      Returns:
        a formatted date in the form of a string

    - #### public static String toJson(UUID uuid)

      Returns:
        the string representation of an uuid

    - #### public static String toJson(URL url)

      Returns:
        the string representation of the URL

    - #### public static String toJson(Closure closure)

      Returns:
        an object representation of a closure

    - #### public static String toJson(Expando expando)

      Returns:
        an object representation of an Expando

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

      Returns:
        "null" for a null value, or a JSON array representation for a collection, array, iterator or enumeration, or representation for other object.

    - #### public static String toJson(Map m)

      Returns:
        a JSON object representation for a map

    - #### public static JsonOutput.JsonUnescaped unescaped(CharSequence text)

      Obtains JSON unescaped text for the given text

      Parameters:
        `text` - The text
      Returns:
        The unescaped text