ไวยากรณ์
json.validate(json: string, options?: DecodeOptions): boolean | string | nil | number | nilArguments
| ชื่อ | ชนิด | คำอธิบาย |
|---|---|---|
json | string | สตริง JSON ที่จะแยกวิเคราะห์ จัดรูปแบบ ย่อขนาด หรือตรวจสอบความถูกต้อง |
options? | DecodeOptions | ตารางการตั้งค่าเสริมที่ควบคุมลักษณะการทำงาน |
Returns
| ชื่อ | ชนิด | คำอธิบาย |
|---|---|---|
valid | boolean | เป็นจริงเมื่อสตริง JSON ถูกต้อง |
errorMessage | string | nil | ข้อความแสดงข้อผิดพลาดถูกส่งกลับเมื่อการโหลดหรือการแยกวิเคราะห์ล้มเหลว มิฉะนั้นจะเป็นศูนย์ |
errorPosition | number | nil | ตำแหน่งที่การแยกวิเคราะห์ล้มเหลว หรือไม่มีเมื่อไม่มีข้อผิดพลาดในการแยกวิเคราะห์เกิดขึ้น |
คำอธิบาย
ตรวจสอบ JSON และส่งคืนรายละเอียดข้อผิดพลาดเมื่อการแยกวิเคราะห์ล้มเหลว
เรียกด้วย parameter 2 ค่า: json, options ตาราง arguments อธิบายค่าที่จำเป็นและค่าที่ปรับพฤติกรรม
ส่งคืน valid (boolean), errorMessage (string | nil), errorPosition (number | nil) ใช้ตาราง returns เพื่อแยกค่าที่สำเร็จ ผลลัพธ์ nil และ error ที่จัดการต่อได้
ตัวอย่าง
ตรวจสอบ JSON และรายงานตำแหน่ง parser เมื่อเกิดความล้มเหลว
local valid, message, position = json.validate('{"value":42}')
if not valid then
warn(message, position)
endTypes
DecodeOptions
ควบคุมพฤติกรรมการแยกวิเคราะห์ JSON
useNull? boolean แสดงถึง JSON null ด้วย null sentinel ของไลบรารีแทนที่จะเป็น nilmaxDepth? integer ตั้งค่าความลึกของการซ้อนสูงสุด โดยยึดไว้ตั้งแต่ 1 ถึง 4096