JSON

json.decodeSafe

JSON'u atmadan ayrıştırır ve başarı, değer ve hata ayrıntılarını döndürür.

Söz dizimi

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

Argümanlar

AdTipAçıklama
jsonstringAyrıştırmak, biçimlendirmek, küçültmek veya doğrulamak için kullanılan JSON dizesi.
options?DecodeOptionsİşlemin nasıl davranacağını kontrol eden isteğe bağlı ayarlar tablosu.

Dönüşler

AdTipAçıklama
successbooleanİşlem başarıyla tamamlandığında doğrudur.
decodedany | nilKodu çözülmüş Luau değeri veya kodu çözülmüş bayt dizisi.
errorMessagestring | nilYükleme veya ayrıştırma başarısız olduğunda hata mesajı döndürülür, aksi halde sıfırdır.
errorPositionnumber | nilAyrıştırmanın başarısız olduğu konum veya ayrıştırma hatası oluşmadığında sıfır.

Açıklama

JSON'u atmadan ayrıştırır ve başarı, değer ve hata ayrıntılarını döndürür.

2 parametre ile cagir: json, options. Arguman tablosu hangi degerlerin zorunlu oldugunu ve hangilerinin davranisi incelttigini aciklar.

success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil) dondurur. Basarili degerleri, nil sonuclari ve toparlanabilir hatalari ayirmak icin return tablosunu kullan.

Örnek

Güvenilmeyen JSON'u hata oluşturmadan ayrıştırın.

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

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

Tipler

DecodeOptions

JSON ayrıştırma davranışını kontrol eder.

useNull? boolean Nil yerine kütüphanenin null sentinel'i ile JSON null'u temsil eder.maxDepth? integer 1'den 4096'ya kadar kenetlenmiş maksimum yuvalama derinliğini ayarlar.