Documentación de Real

JSON

json.format

Analiza y vuelve a codificar JSON para normalizar el formato.

Sintaxis

json.format(json: string, encodeOptions?: EncodeOptions, decodeOptions?: DecodeOptions): string

Argumentos

NombreTipoDescripción
jsonstringCadena JSON para analizar, formatear, minimizar o validar.
encodeOptions?EncodeOptionsConfiguraciones de codificación opcionales, como salida bonita o ordenación de claves.
decodeOptions?DecodeOptionsConfiguraciones de análisis opcionales utilizadas al leer JSON.

Retornos

NombreTipoDescripción
formattedstringCadena JSON formateada.

Descripción

Analiza y vuelve a codificar JSON para normalizar el formato.

Llamalo con 3 parametro(s): json, encodeOptions, decodeOptions. La tabla de argumentos explica que valores son obligatorios y cuales refinan el comportamiento.

Devuelve formatted (string). Usa la tabla de retornos para separar valores correctos, resultados nil y errores recuperables.

Ejemplo

Normalice JSON existente en una representación legible.

local compact = '{"b":2,"a":1}'
local formatted = json.format(compact, {
    pretty = true,
    sortKeys = true,
})

print(formatted)

Tipos

EncodeOptions

Controla la serialización y el formato JSON.

pretty? boolean Habilita la salida JSON formateada y de varias líneas.sortKeys? boolean Ordena las claves de los objetos antes de codificar.emptyTableAsArray? boolean Codifica una tabla vacía como una matriz en lugar de un objeto.errorOnUnsupported? boolean Genera un error en lugar de sustituir valores no admitidos.encodeInvalidNumbersAsNull? boolean Codifica NaN y números infinitos como JSON nulo.maxDepth? integer Establece la profundidad máxima de anidamiento, sujeta de 1 a 4096.indent? string Establece la cadena de sangría, limitada a 32 caracteres.

DecodeOptions

Controla el comportamiento de análisis de JSON.

useNull? boolean Representa JSON nulo con el centinela nulo de la biblioteca en lugar de nulo.maxDepth? integer Establece la profundidad máxima de anidamiento, sujeta de 1 a 4096.