JSON

json.format

แยกวิเคราะห์และเข้ารหัส JSON อีกครั้งเพื่อทำให้การจัดรูปแบบเป็นมาตรฐาน

ไวยากรณ์

json.format(json: string, encodeOptions?: EncodeOptions, decodeOptions?: DecodeOptions): string

Arguments

ชื่อชนิดคำอธิบาย
jsonstringสตริง JSON ที่จะแยกวิเคราะห์ จัดรูปแบบ ย่อขนาด หรือตรวจสอบความถูกต้อง
encodeOptions?EncodeOptionsการตั้งค่าการเข้ารหัสเพิ่มเติม เช่น เอาต์พุตแบบ Pretty หรือการเรียงลำดับคีย์
decodeOptions?DecodeOptionsการตั้งค่าการแยกวิเคราะห์เพิ่มเติมที่ใช้ขณะอ่าน JSON

Returns

ชื่อชนิดคำอธิบาย
formattedstringสตริง 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