ข้ามไปยังเนื้อหา

แปลง 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.

Load an example (replaces your input)

TOML

JSON

เหมาะกับงานแบบไหน

  • ดูตารางและอาร์เรย์ของตารางในไฟล์ตั้งค่าเป็นออบเจ็กต์และอาร์เรย์ JSON
  • ส่งไฟล์ TOML ที่มีคอมเมนต์ไปยังเครื่องมือที่รับเฉพาะ JSON

วิธีใช้

  1. วาง TOML หรือโหลดตัวอย่าง (การตั้งค่าและตาราง อาร์เรย์ของตาราง หรือวันที่และสตริงหลายบรรทัด)
  2. อ่าน JSON ด้านขวา [server] จะเป็นออบเจ็กต์ และ [[products]] เป็นอาร์เรย์ของออบเจ็กต์
  3. หากมีข้อผิดพลาด ให้ตรวจคีย์ซ้ำและเครื่องหมายคำพูด ตรวจสตริง ตัวเลข และวันที่ก่อนคัดลอก

ข้อมูลเข้า 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

ข้อกำหนดและแหล่งอ้างอิง