JSON

json.format

Analisa e recodifica JSON para normalizar a formatação.

Sintaxe

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

Argumentos

NomeTipoDescrição
jsonstringString JSON para analisar, formatar, reduzir ou validar.
encodeOptions?EncodeOptionsConfigurações de codificação opcionais, como saída bonita ou ordenação de chaves.
decodeOptions?DecodeOptionsConfigurações de análise opcionais usadas durante a leitura do JSON.

Retornos

NomeTipoDescrição
formattedstringString JSON formatada.

Descrição

Analisa e recodifica JSON para normalizar a formatação.

Chame com 3 parametro(s): json, encodeOptions, decodeOptions. A tabela de argumentos explica quais valores sao obrigatorios e quais refinam o comportamento.

Retorna formatted (string). Use a tabela de retornos para separar valores bem sucedidos, nil e erros recuperaveis.

Exemplo

Normalize o JSON existente em uma representação legível.

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

print(formatted)

Tipos

EncodeOptions

Controla a serialização e formatação JSON.

pretty? boolean Permite saída JSON formatada e multilinha.sortKeys? boolean Classifica as chaves dos objetos antes da codificação.emptyTableAsArray? boolean Codifica uma tabela vazia como uma matriz em vez de um objeto.errorOnUnsupported? boolean Gera um erro em vez de substituir valores não suportados.encodeInvalidNumbersAsNull? boolean Codifica NaN e números infinitos como JSON nulo.maxDepth? integer Define a profundidade máxima de aninhamento, fixada de 1 a 4096.indent? string Define a sequência de recuo, limitada a 32 caracteres.

DecodeOptions

Controla o comportamento de análise JSON.

useNull? boolean Representa JSON nulo com o sentinela nulo da biblioteca em vez de nulo.maxDepth? integer Define a profundidade máxima de aninhamento, fixada de 1 a 4096.