json. encodePretty Synchronous
json.pretty
Serialize a value with indentation so a person can inspect or edit the output. It represents the same data as json.encode, with whitespace added between entries.
Luau
json.encodePretty(value: any, options: JsonEncodeOptions?) -> stringParameters
| Parameter | Type | Description |
|---|---|---|
value | any | Luau value to serialize. |
options | JsonEncodeOptions? | Optional pretty boolean, indentation width, indentation string, or options table. See Encoding options for all fields. |
Argument fields
Luau
JsonEncodeOptions = boolean | number | string | {
pretty: boolean?, sortKeys: boolean?, emptyTableAsArray: boolean?,
errorOnUnsupported: boolean?, encodeInvalidNumbersAsNull: boolean?,
maxDepth: number?, indent: string?
}| Field | Description |
|---|---|
pretty | Add indentation and line breaks. encodePretty and format always enable this. |
sortKeys | Sort object keys by their string representations before encoding. Defaults to false. |
emptyTableAsArray | Encode an unmarked empty table as [] instead of {}. Explicit json.array/json.object metadata takes precedence. |
errorOnUnsupported | Raise for unsupported values or object keys. By default, unsupported values become null and unsupported keys are skipped. |
encodeInvalidNumbersAsNull | Defaults to true. false makes NaN and infinite numbers raise an error. |
maxDepth | Maximum nesting depth. Defaults to 256; an integer is required and is clamped to 1–4096. Cyclic tables always raise. |
indent | Indentation string, truncated to 32 characters. Defaults to two spaces. A numeric options argument selects an indentation width clamped to 0–16 spaces and enables pretty output. |
Returns
stringIndented JSON text; the default indent is two spaces.
Usage notes
An options table can request sorted keys or a different indentation string. Unsupported values and cycles follow the same rules as json.encode.
Example
Luau
local settings = { theme = "dark", enabled = true }
print(json.encodePretty(settings, { sortKeys = true, indent = " " }))