ไวยากรณ์
json.format(json: string, encodeOptions?: EncodeOptions, decodeOptions?: DecodeOptions): stringArguments
| ชื่อ | ชนิด | คำอธิบาย |
|---|---|---|
json | string | สตริง JSON ที่จะแยกวิเคราะห์ จัดรูปแบบ ย่อขนาด หรือตรวจสอบความถูกต้อง |
encodeOptions? | EncodeOptions | การตั้งค่าการเข้ารหัสเพิ่มเติม เช่น เอาต์พุตแบบ Pretty หรือการเรียงลำดับคีย์ |
decodeOptions? | DecodeOptions | การตั้งค่าการแยกวิเคราะห์เพิ่มเติมที่ใช้ขณะอ่าน JSON |
Returns
| ชื่อ | ชนิด | คำอธิบาย |
|---|---|---|
formatted | string | สตริง JSON ที่จัดรูปแบบแล้ว |
คำอธิบาย
แยกวิเคราะห์และเข้ารหัส JSON อีกครั้งเพื่อทำให้การจัดรูปแบบเป็นมาตรฐาน
เรียกด้วย parameter 3 ค่า: json, encodeOptions, decodeOptions ตาราง arguments อธิบายค่าที่จำเป็นและค่าที่ปรับพฤติกรรม
ส่งคืน formatted (string) ใช้ตาราง returns เพื่อแยกค่าที่สำเร็จ ผลลัพธ์ nil และ error ที่จัดการต่อได้
ตัวอย่าง
ทำให้ JSON ที่มีอยู่เป็นมาตรฐานให้เป็นการนำเสนอที่อ่านได้
local compact = '{"b":2,"a":1}'
local formatted = json.format(compact, {
pretty = true,
sortKeys = true,
})
print(formatted)Types
EncodeOptions
ควบคุมการทำให้เป็นอนุกรมและการจัดรูปแบบ JSON
pretty? boolean เปิดใช้งานเอาต์พุต JSON แบบหลายบรรทัดที่จัดรูปแบบแล้วsortKeys? boolean เรียงลำดับออบเจ็กต์คีย์ก่อนการเข้ารหัสemptyTableAsArray? boolean เข้ารหัสตารางว่างเป็นอาร์เรย์แทนที่จะเป็นวัตถุerrorOnUnsupported? boolean ทำให้เกิดข้อผิดพลาดแทนที่จะแทนที่ค่าที่ไม่รองรับencodeInvalidNumbersAsNull? boolean เข้ารหัส NaN และจำนวนอนันต์เป็น JSON nullmaxDepth? integer ตั้งค่าความลึกของการซ้อนสูงสุด โดยยึดไว้ตั้งแต่ 1 ถึง 4096indent? string ตั้งค่าสตริงการเยื้อง โดยจำกัดไว้ที่ 32 อักขระDecodeOptions
ควบคุมพฤติกรรมการแยกวิเคราะห์ JSON
useNull? boolean แสดงถึง JSON null ด้วย null sentinel ของไลบรารีแทนที่จะเป็น nilmaxDepth? integer ตั้งค่าความลึกของการซ้อนสูงสุด โดยยึดไว้ตั้งแต่ 1 ถึง 4096