Cú pháp
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilĐối số
| Tên | Kiểu | Mô tả |
|---|---|---|
json | string | Chuỗi JSON để phân tích cú pháp, định dạng, thu nhỏ hoặc xác thực. |
options? | DecodeOptions | Bảng cài đặt tùy chọn kiểm soát cách hoạt động. |
Giá trị trả về
| Tên | Kiểu | Mô tả |
|---|---|---|
success | boolean | Đúng khi thao tác hoàn tất thành công. |
decoded | any | nil | Giá trị Luau được giải mã hoặc chuỗi byte được giải mã. |
errorMessage | string | nil | Thông báo lỗi được trả về khi tải hoặc phân tích cú pháp không thành công, nếu không thì không. |
errorPosition | number | nil | Vị trí phân tích cú pháp không thành công hoặc không xảy ra lỗi phân tích cú pháp. |
Mô tả
Cố gắng phân tích cú pháp JSON và trả về thông tin lỗi có cấu trúc thay vì gửi đi.
Goi voi 2 parameter: json, options. Bang arguments giai thich gia tri nao bat buoc va gia tri nao chi tinh chinh hanh vi.
Tra ve success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Dung bang returns de tach gia tri thanh cong, ket qua nil va loi co the xu ly.
Ví dụ
Cố gắng giải mã JSON mà không đưa vào dữ liệu đầu vào không đúng định dạng.
local ok, value, message, position = json.tryDecode('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endKiểu
DecodeOptions
Kiểm soát hành vi phân tích cú pháp JSON.
useNull? boolean Biểu thị JSON null bằng giá trị null của thư viện thay vì con số không.maxDepth? integer Đặt độ sâu lồng tối đa, được kẹp từ 1 đến 4096.