Sintaxe
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgumentos
| Nome | Tipo | Descrição |
|---|---|---|
json | string | String JSON para analisar, formatar, reduzir ou validar. |
options? | DecodeOptions | Tabela de configurações opcionais que controla como a operação se comporta. |
Retornos
| Nome | Tipo | Descrição |
|---|---|---|
success | boolean | Verdadeiro quando a operação foi concluída com êxito. |
decoded | any | nil | Valor Luau decodificado ou sequência de bytes decodificada. |
errorMessage | string | nil | Mensagem de erro retornada quando o carregamento ou análise falha, caso contrário, nulo. |
errorPosition | number | nil | Posição onde a análise falhou ou nula quando não ocorreu nenhum erro de análise. |
Descrição
Tenta analisar JSON e retorna informações de erro estruturadas em vez de lançar.
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
Tente decodificar JSON sem gerar entradas malformadas.
local ok, value, message, position = json.tryDecode('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endTipos
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.