JSON

json.decodeSafe

Analizuje JSON bez rzucania i zwraca szczegóły sukcesu, wartości i błędu.

Składnia

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

Argumenty

NazwaTypOpis
jsonstringCiąg JSON do analizowania, formatowania, minimalizacji lub sprawdzania poprawności.
options?DecodeOptionsOpcjonalna tabela ustawień, która kontroluje zachowanie operacji.

Zwroty

NazwaTypOpis
successbooleanPrawda, gdy operacja zakończyła się pomyślnie.
decodedany | nilZdekodowana wartość Luau lub zdekodowany ciąg bajtów.
errorMessagestring | nilKomunikat o błędzie zwrócony w przypadku niepowodzenia ładowania lub analizowania, w przeciwnym razie zero.
errorPositionnumber | nilPozycja, w której analiza nie powiodła się, lub zero, jeśli nie wystąpił żaden błąd analizy.

Opis

Analizuje JSON bez rzucania i zwraca szczegóły sukcesu, wartości i błędu.

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

Analizuj niezaufany JSON bez zgłaszania błędu.

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

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

Typy

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.