public class JsonOutput
extends 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 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.
| Modifiers | Name | Description |
|---|---|---|
static class |
JsonOutput.JsonUnescaped |
Represents unescaped JSON |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public static String |
prettyPrint(String jsonPayload)Pretty print a JSON payload. |
|
public static String |
prettyPrint(String jsonPayload, boolean disableUnicodeEscaping)Pretty print a JSON payload. |
|
public static String |
prettyPrint(String jsonPayload, boolean disableUnicodeEscaping, int maxNestingDepth)Pretty print a JSON payload, bounding its nesting depth explicitly. |
|
public static String |
toJson(Boolean bool)
|
|
public static String |
toJson(Number n)
|
|
public static String |
toJson(Character c)
|
|
public static String |
toJson(String s)
|
|
public static String |
toJson(Date date)Format a date that is parseable from JavaScript, according to ISO-8601. |
|
public static String |
toJson(Calendar cal)Format a calendar instance that is parseable from JavaScript, according to ISO-8601. |
|
public static String |
toJson(UUID uuid)
|
|
public static String |
toJson(URL url)
|
|
public static String |
toJson(Closure closure)
|
|
public static String |
toJson(Expando expando)
|
|
public static String |
toJson(Object object)
|
|
public static String |
toJson(Map m)
|
|
public static JsonOutput.JsonUnescaped |
unescaped(CharSequence text)Obtains JSON unescaped text for the given text |
Pretty print a JSON payload.
Nesting depth is bounded by the groovy.json.maxNestingDepth system property
(default BaseJsonParser.DEFAULT_MAX_NESTING_DEPTH), matching the bound the slurpers
enforce, so a payload this method will format is one JsonSlurper would parse. A
payload nested deeper — or left unbalanced, which the lexer cannot distinguish from
nesting — is rejected with a JsonException rather than expanded into an output
quadratically larger than itself. A property value of 0 or less disables the check.
Use prettyPrint(String, boolean, int) to bound a single call instead.
jsonPayload - a JSON payloadPretty print a JSON payload.
Nesting depth is bounded by the groovy.json.maxNestingDepth system property
(default BaseJsonParser.DEFAULT_MAX_NESTING_DEPTH), matching the bound the slurpers
enforce, so a payload this method will format is one JsonSlurper would parse. A
payload nested deeper — or left unbalanced, which the lexer cannot distinguish from
nesting — is rejected with a JsonException rather than expanded into an output
quadratically larger than itself. A property value of 0 or less disables the check.
Use prettyPrint(String, boolean, int) to bound a single call instead.
jsonPayload - a JSON payloaddisableUnicodeEscaping - whether to disable unicode escapingPretty print a JSON payload, bounding its nesting depth explicitly.
Every nesting level adds to the indent of each line it encloses, so output size grows with
the square of the payload's nesting and an unbounded payload can exhaust memory. A payload
nested deeper than maxNestingDepth — or left unbalanced, which the lexer cannot
distinguish from nesting — is rejected with a JsonException. Pass 0 or
less to disable the check.
The other overloads take this bound from the groovy.json.maxNestingDepth system
property, which applies process-wide; prefer this method to format a deeply nested payload
without changing how the rest of the process parses JSON.
maxNestingDepthjsonPayload - a JSON payloaddisableUnicodeEscaping - whether to disable unicode escapingmaxNestingDepth - the maximum nesting depth to accept; 0 or less disables the checkFormat a date that is parseable from JavaScript, according to ISO-8601.
date - the date to format to a JSON stringFormat a calendar instance that is parseable from JavaScript, according to ISO-8601.
cal - the calendar to format to a JSON string
Obtains JSON unescaped text for the given text
text - The text