Sintaxis
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgumentos
| Nombre | Tipo | Descripción |
|---|---|---|
json | string | Cadena JSON para analizar, formatear, minimizar o validar. |
options? | DecodeOptions | Tabla de configuración opcional que controla cómo se comporta la operación. |
Retornos
| Nombre | Tipo | Descripción |
|---|---|---|
success | boolean | Verdadero cuando la operación se completó correctamente. |
decoded | any | nil | Valor de Luau decodificado o cadena de bytes decodificada. |
errorMessage | string | nil | Se devuelve un mensaje de error cuando falla la carga o el análisis; de lo contrario, es nulo. |
errorPosition | number | nil | Posición donde falló el análisis, o nula cuando no se produjo ningún error de análisis. |
Descripción
Intenta analizar JSON y devuelve información de error estructurada en lugar de arrojarla.
Llamalo con 2 parametro(s): json, options. La tabla de argumentos explica que valores son obligatorios y cuales refinan el comportamiento.
Devuelve success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Usa la tabla de retornos para separar valores correctos, resultados nil y errores recuperables.
Ejemplo
Intente decodificar JSON sin generar entradas con formato incorrecto.
local ok, value, message, position = json.tryDecode('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endTipos
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.