Söz dizimi
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgümanlar
| Ad | Tip | Açıklama |
|---|---|---|
json | string | Ayrış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
| Ad | Tip | Açıklama |
|---|---|---|
success | boolean | İşlem başarıyla tamamlandığında doğrudur. |
decoded | any | nil | Kodu çözülmüş Luau değeri veya kodu çözülmüş bayt dizisi. |
errorMessage | string | nil | Yükleme veya ayrıştırma başarısız olduğunda hata mesajı döndürülür, aksi halde sıfırdır. |
errorPosition | number | nil | Ayrış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)
endTipler
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.