Sintaks
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgumen
| Nama | Tipe | Deskripsi |
|---|---|---|
json | string | String JSON untuk diurai, diformat, diperkecil, atau divalidasi. |
options? | DecodeOptions | Tabel pengaturan opsional yang mengontrol perilaku operasi. |
Return
| Nama | Tipe | Deskripsi |
|---|---|---|
success | boolean | Benar ketika operasi berhasil diselesaikan. |
decoded | any | nil | Nilai Luau yang didekodekan atau string byte yang didekodekan. |
errorMessage | string | nil | Pesan kesalahan ditampilkan ketika pemuatan atau penguraian gagal, jika tidak, nihil. |
errorPosition | number | nil | Posisi 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)
endTipe
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.