Package groovy.json

## Class JsonOutput

- java.lang.Object
- - groovy.json.JsonOutput

-     public class JsonOutput
      extends java.lang.Object

  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.

  Since:
    1.8.0
  See Also:
    `JsonGenerator`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `JsonOutput.JsonUnescaped` | Represents unescaped JSON

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JsonOutput()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.String` | `prettyPrint​(java.lang.String jsonPayload)` | Pretty print a JSON payload.
    `static java.lang.String` | `toJson​(Closure closure)` |
    `static java.lang.String` | `toJson​(Expando expando)` |
    `static java.lang.String` | `toJson​(java.lang.Boolean bool)` |
    `static java.lang.String` | `toJson​(java.lang.Character c)` |
    `static java.lang.String` | `toJson​(java.lang.Number n)` |
    `static java.lang.String` | `toJson​(java.lang.Object object)` |
    `static java.lang.String` | `toJson​(java.lang.String s)` |
    `static java.lang.String` | `toJson​(java.net.URL url)` |
    `static java.lang.String` | `toJson​(java.util.Calendar cal)` | Format a calendar instance that is parseable from JavaScript, according to ISO-8601.
    `static java.lang.String` | `toJson​(java.util.Date date)` | Format a date that is parseable from JavaScript, according to ISO-8601.
    `static java.lang.String` | `toJson​(java.util.Map m)` |
    `static java.lang.String` | `toJson​(java.util.UUID uuid)` |
    `static JsonOutput.JsonUnescaped` | `unescaped​(java.lang.CharSequence text)` | Obtains JSON unescaped text for the given text

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JsonOutput

          public JsonOutput()

  - ### Method Detail

    - #### toJson

          public static java.lang.String toJson​(java.lang.Boolean bool)

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

    - #### toJson

          public static java.lang.String toJson​(java.lang.Number n)

      Returns:
        a string representation for a number
      Throws:
        `JsonException` - if the number is infinite or not a number.

    - #### toJson

          public static java.lang.String toJson​(java.lang.Character c)

      Returns:
        a JSON string representation of the character

    - #### toJson

          public static java.lang.String toJson​(java.lang.String s)

      Returns:
        a properly encoded string with escape sequences

    - #### toJson

          public static java.lang.String toJson​(java.util.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

    - #### toJson

          public static java.lang.String toJson​(java.util.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

    - #### toJson

          public static java.lang.String toJson​(java.util.UUID uuid)

      Returns:
        the string representation of an uuid

    - #### toJson

          public static java.lang.String toJson​(java.net.URL url)

      Returns:
        the string representation of the URL

    - #### toJson

          public static java.lang.String toJson​(Closure closure)

      Returns:
        an object representation of a closure

    - #### toJson

          public static java.lang.String toJson​(Expando expando)

      Returns:
        an object representation of an Expando

    - #### toJson

          public static java.lang.String toJson​(java.lang.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.

    - #### toJson

          public static java.lang.String toJson​(java.util.Map m)

      Returns:
        a JSON object representation for a map

    - #### prettyPrint

          public static java.lang.String prettyPrint​(java.lang.String jsonPayload)

      Pretty print a JSON payload.
      Parameters:
        `jsonPayload` -
      Returns:
        a pretty representation of JSON payload.

    - #### unescaped

          public static JsonOutput.JsonUnescaped unescaped​(java.lang.CharSequence text)

      Obtains JSON unescaped text for the given text
      Parameters:
        `text` - The text
      Returns:
        The unescaped text