JSON

json.tryDecode

Mencoba mengurai JSON dan mengembalikan informasi kesalahan terstruktur alih-alih melempar.

Sintaks

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

Argumen

NamaTipeDeskripsi
jsonstringString JSON untuk diurai, diformat, diperkecil, atau divalidasi.
options?DecodeOptionsTabel pengaturan opsional yang mengontrol perilaku operasi.

Return

NamaTipeDeskripsi
successbooleanBenar ketika operasi berhasil diselesaikan.
decodedany | nilNilai Luau yang didekodekan atau string byte yang didekodekan.
errorMessagestring | nilPesan kesalahan ditampilkan ketika pemuatan atau penguraian gagal, jika tidak, nihil.
errorPositionnumber | nilPosisi di mana penguraian gagal, atau nihil ketika tidak terjadi kesalahan penguraian.

Deskripsi

Mencoba mengurai JSON dan mengembalikan informasi kesalahan terstruktur alih-alih melempar.

Panggil dengan 2 parameter: json, options. Tabel argumen menjelaskan nilai wajib dan nilai yang hanya menyempurnakan perilaku.

Mengembalikan success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Gunakan tabel returns untuk memisahkan nilai sukses, hasil nil, dan error yang bisa dipulihkan.

Contoh

Mencoba memecahkan kode JSON tanpa memberikan input yang salah.

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

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

Tipe

DecodeOptions

Mengontrol perilaku penguraian JSON.

useNull? boolean Mewakili JSON null dengan penjaga null perpustakaan, bukan nihil.maxDepth? integer Menyetel kedalaman sarang maksimum, dijepit dari 1 hingga 4096.