วิธีใช้งาน
- วาง JSON object หรือลองใช้ตัวอย่าง
- เปิด “ไม่รวมค่า null” หาก JSON ของคุณมีค่า null ที่ไม่ต้องการ
- คัดลอก TOML หรือดาวน์โหลดเป็นไฟล์ .toml
วิธีการทำงาน
JSON จะถูกแยกวิเคราะห์อย่างเคร่งครัด แล้วเขียนเป็น TOML 1.0 ด้วยไลบรารีโอเพนซอร์ส smol-toml อ็อบเจกต์ซ้อนกันจะกลายเป็น [tables] อาร์เรย์ของอ็อบเจกต์จะกลายเป็น [[arrays of tables]] และคีย์ที่ไม่ใช่คำธรรมดาจะถูกใส่เครื่องหมายคำพูด
TOML ไม่สามารถแสดงทุกอย่างที่ JSON แสดงได้ รากของเอกสารต้องเป็นตาราง ดังนั้นอาร์เรย์ JSON หรือค่าเดี่ยวจะถูกปฏิเสธ ไม่มีค่า null ใน TOML: โดยค่าเริ่มต้น null ตัวแรกจะถูกรายงานพร้อมตำแหน่งพาธของมัน คุณสามารถเลือกให้ละสมาชิกอ็อบเจกต์ที่เป็น null แทนได้ null ภายในอาร์เรย์ถือเป็นข้อผิดพลาดเสมอ เพราะการลบออกจะเปลี่ยนตำแหน่งขององค์ประกอบอื่น ๆ อาร์เรย์ที่ผสมประเภท (เช่น ตัวเลขและสตริง) ใช้ได้ใน TOML 1.0 แต่ใช้ไม่ได้ในเวอร์ชัน 0.5 ที่เก่ากว่า จึงถูกนับเป็นหมายเหตุ
JSON ไม่แยกความแตกต่างระหว่าง 1 กับ 1.0 ดังนั้นจำนวนเต็มจะถูกเขียนเป็นจำนวนเต็ม TOML สตริงที่ดูเหมือนวันที่ยังคงเป็นสตริง ทิศทางย้อนกลับคือ TOML เป็น JSON
ตัวอย่าง
การตั้งค่าแอป
{"server": {"host": "0.0.0.0", "port": 8080}} จะกลายเป็นตาราง [server] ที่มีคีย์ host และ port
รายการเวิร์กเกอร์
"workers": [{"queue": "mail"}, {"queue": "images"}] จะกลายเป็นบล็อก [[workers]] สองบล็อก
คำถามที่พบบ่อย
ทำไมจึงไม่อนุญาตให้ใช้ null
TOML ไม่มีค่า null ให้เว้นคีย์นั้นไว้ หรือใช้ค่าเช่นสตริงว่าง ตามที่โปรแกรมอ่านคาดหวัง
ทำไมอาร์เรย์ที่ผสมตัวเลขและสตริงจึงแสดงหมายเหตุ
อาร์เรย์แบบผสมประเภทได้รับอนุญาตตั้งแต่ TOML 1.0 แต่เครื่องมือที่ใช้ TOML 0.5 จะปฏิเสธ หมายเหตุนี้ช่วยในกรณีที่เครื่องมือเป้าหมายของคุณเป็นรุ่นเก่า
1.0 จะคงเป็นจำนวนทศนิยมหรือไม่
ไม่ JSON เก็บ 1.0 และ 1 เป็นตัวเลขเดียวกัน จึงกลายเป็นจำนวนเต็ม 1 ให้เขียน 1.5 หรือแก้ไข TOML หากโปรแกรมอ่านต้องการจำนวนทศนิยม
ความเป็นส่วนตัว
การแปลงทำงานในเบราว์เซอร์ของคุณทั้งหมด JSON และ TOML ของคุณจะไม่ถูกอัปโหลดหรือจัดเก็บ