JSON

json.decodeSafe

Analisa JSON sem lançar e retorna detalhes de sucesso, valor e erro.

Sintaxe

json.decodeSafe(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nil

Argumentos

NomeTipoDescrição
jsonstringString JSON para analisar, formatar, reduzir ou validar.
options?DecodeOptionsTabela de configurações opcionais que controla como a operação se comporta.

Retornos

NomeTipoDescrição
successbooleanVerdadeiro quando a operação foi concluída com êxito.
decodedany | nilValor Luau decodificado ou sequência de bytes decodificada.
errorMessagestring | nilMensagem de erro retornada quando o carregamento ou análise falha, caso contrário, nulo.
errorPositionnumber | nilPosição onde a análise falhou ou nula quando não ocorreu nenhum erro de análise.

Descrição

Analisa JSON sem lançar e retorna detalhes de sucesso, valor e erro.

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

Retorna success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Use a tabela de retornos para separar valores bem sucedidos, nil e erros recuperaveis.

Exemplo

Analise JSON não confiável sem gerar um erro.

local ok, value, message, position = json.decodeSafe('{"ready":true}')

if ok then
    print(value.ready)
else
    warn(message, position)
end

Tipos

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.