แปลง TOML เป็น JSON ออนไลน์
แปลงตาราง อาร์เรย์ และวันที่ TOML เป็น JSON ในเบราว์เซอร์ ตรวจโครงสร้างไฟล์ตั้งค่า และรับข้อผิดพลาดสำหรับตัวเลขที่ JSON เก็บไม่ได้ แทนการเปลี่ยนค่าโดยไม่แจ้ง
ดูตารางและอาร์เรย์ของตารางในไฟล์ตั้งค่าเป็นออบเจ็กต์และอาร์เรย์ JSON
Converted in your browser. Comments are omitted. Non-finite numbers and unsafe integers are rejected instead of silently losing their values.
เหมาะกับงานแบบไหน
- ดูตารางและอาร์เรย์ของตารางในไฟล์ตั้งค่าเป็นออบเจ็กต์และอาร์เรย์ JSON
- ส่งไฟล์ TOML ที่มีคอมเมนต์ไปยังเครื่องมือที่รับเฉพาะ JSON
วิธีใช้
- วาง TOML หรือโหลดตัวอย่าง (การตั้งค่าและตาราง อาร์เรย์ของตาราง หรือวันที่และสตริงหลายบรรทัด)
- อ่าน JSON ด้านขวา [server] จะเป็นออบเจ็กต์ และ [[products]] เป็นอาร์เรย์ของออบเจ็กต์
- หากมีข้อผิดพลาด ให้ตรวจคีย์ซ้ำและเครื่องหมายคำพูด ตรวจสตริง ตัวเลข และวันที่ก่อนคัดลอก
ข้อมูลเข้า TOML
[[products]] code = "001" name = "Notebook" [[products]] code = "002" name = "Pen"
ผลลัพธ์ JSON
{
"products": [
{ "code": "001", "name": "Notebook" },
{ "code": "002", "name": "Pen" }
]
}รายละเอียดและข้อจำกัด
แปลงในเบราว์เซอร์ ไม่คงคอมเมนต์ ระยะห่าง และรูปแบบเครื่องหมายคำพูดของ TOML
JSON ไม่มีชนิดวันที่ วันที่จึงเป็นสตริง และรูปแบบเขตเวลาอาจปรับเป็นมาตรฐาน ครอบค่าใน TOML ด้วยเครื่องหมายคำพูดหากต้องการให้คงเดิม
JSON ไม่มี inf และ nan และเก็บจำนวนเต็มได้แม่นยำถึงเพียง ±9,007,199,254,740,991 ค่าที่เกินข้อจำกัดจะแจ้งข้อผิดพลาดแทน null หรือตัวเลขปัดเศษ ควรเขียน ID ขนาดใหญ่เป็นสตริง
ตรวจเฉพาะไวยากรณ์ TOML ไม่ตรวจฟิลด์บังคับของ Cargo.toml, pyproject.toml หรือรูปแบบอื่น
FAQ
แปลง wrangler.toml เป็น JSON ได้หรือไม่?
ได้ในด้านโครงสร้าง ตารางเป็นออบเจ็กต์และ [[arrays]] เป็นอาร์เรย์ของออบเจ็กต์ที่ใช้ชื่อคีย์เดิม คอมเมนต์จะถูกลบ จึงควรเทียบผลลัพธ์กับเอกสารการตั้งค่า Wrangler ของ Cloudflare ก่อนแทนที่ไฟล์
แปลง TOML เป็น JSON ใน Python อย่างไร?
Python 3.11 ขึ้นไปมี tomllib ในตัว: python -c "import json,sys,tomllib; print(json.dumps(tomllib.load(open(sys.argv[1],'rb')), indent=2, default=str))" config.toml โดย default=str เปลี่ยนวันที่เป็นสตริงเช่นเดียวกับหน้านี้
คงเลขศูนย์นำหน้าได้หรือไม่?
เขียนค่าเป็นสตริง เช่น code = "001" ใช้เครื่องหมายคำพูดกับตัวระบุที่ไม่ต้องการให้เป็นตัวเลข
ทำไมตัวเลขขนาดใหญ่จึงทำให้เกิดข้อผิดพลาด?
ตัวเลข JavaScript เก็บจำนวนเต็มขนาดใหญ่บางค่าได้ไม่แม่นยำ และ JSON ไม่มี inf หรือ nan การแปลงจึงหยุดแทนการเปลี่ยนค่า ให้เก็บ ID ที่ต้องแม่นยำเป็นสตริงใน TOML