Składnia
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgumenty
| Nazwa | Typ | Opis |
|---|---|---|
json | string | Ciąg JSON do analizowania, formatowania, minimalizacji lub sprawdzania poprawności. |
options? | DecodeOptions | Opcjonalna tabela ustawień, która kontroluje zachowanie operacji. |
Zwroty
| Nazwa | Typ | Opis |
|---|---|---|
success | boolean | Prawda, gdy operacja zakończyła się pomyślnie. |
decoded | any | nil | Zdekodowana wartość Luau lub zdekodowany ciąg bajtów. |
errorMessage | string | nil | Komunikat o błędzie zwrócony w przypadku niepowodzenia ładowania lub analizowania, w przeciwnym razie zero. |
errorPosition | number | nil | Pozycja, w której analiza nie powiodła się, lub zero, jeśli nie wystąpił żaden błąd analizy. |
Opis
Próbuje przeanalizować kod JSON i zamiast rzucać zwraca uporządkowane informacje o błędach.
Wywolaj z 2 parametrami: json, options. Tabela argumentow wyjasnia wartosci wymagane i te, ktore doprecyzowuja zachowanie.
Zwraca success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Uzyj tabeli zwrotow, aby oddzielic wartosci sukcesu, wyniki nil i bledy do obsluzenia.
Przykład
Spróbuj zdekodować JSON bez wrzucania zniekształconych danych wejściowych.
local ok, value, message, position = json.tryDecode('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endTypy
DecodeOptions
Kontroluje zachowanie analizy JSON.
useNull? boolean Reprezentuje JSON null ze wskaźnikiem null biblioteki zamiast nil.maxDepth? integer Ustawia maksymalną głębokość zagnieżdżenia, zaciśniętą w zakresie od 1 do 4096.