JSON

json.tryDecode

JSON'u ayrıştırmaya çalışır ve atmak yerine yapılandırılmış hata bilgilerini döndürür.

Söz dizimi

json.tryDecode(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 ayrıştırmaya çalışır ve atmak yerine yapılandırılmış hata bilgilerini 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

Yanlış biçimlendirilmiş girdiyi kullanmadan JSON'un kodunu çözmeye çalışın.

local ok, value, message, position = json.tryDecode('{"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.