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

แปลง YAML เป็น JSON ฟรี

แปลง YAML เป็น JSON และ JSON เป็น YAML ทั้งสองทิศทาง วางในรูปแบบใดก็ได้และรับผลลัพธ์ที่แปลงแล้วทันที — ไม่ต้องอัปโหลดเซิร์ฟเวอร์

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว
JSON เอาต์พุต
เอาต์พุตจะปรากฏที่นี่…

การใช้งานทั่วไป

  • แปลง YAML เป็น JSON สำหรับ Kubernetes Manifestsแปลง Kubernetes YAML เป็น JSON (หรือในทางกลับกัน) สำหรับเครื่องมือ สคริปต์การตรวจสอบ หรือใช้โดยตรงผ่าน API
  • Docker Compose YAML / JSON Conversionแปลง docker-compose.yml เป็น JSON เพื่อการตรวจสอบ หรือกลับไป YAML หลังจากการแก้ไขโดยทางโปรแกรม
  • CI/CD Pipeline Configuration Conversionแปลง GitHub Actions GitLab CI CircleCI และการกำหนดค่าไปไลน์อื่น ๆ ระหว่างรูปแบบ YAML และ JSON
  • การแปลงไฟล์การกำหนดค่าของแอปแปลงไฟล์การกำหนดค่าของแอประหว่าง YAML และ JSON: มีประโยชน์เมื่อเปลี่ยนกรอบงานหรือแชร์การกำหนดค่าข้ามเครื่องมือ
  • OpenAPI / Swagger Spec Conversionแปลงข้อกำหนด API OpenAPI 3.x หรือ Swagger 2.0 ระหว่างรูปแบบ YAML และ JSON รูปแบบทั้งสองมีความถูกต้องและสามารถแลกเปลี่ยนได้

วิธีการทำงาน

การแปลงทั้งสองทิศทาง — YAML เป็น JSON และ JSON เป็น YAML — ทำงานในเบราว์เซอร์ทั้งหมดด้วยตัวแยกวิเคราะห์และตัวสร้างที่เขียนขึ้นเองในหน้า ไม่มีไลบรารี YAML ภายนอกและไม่มีเซิร์ฟเวอร์เกี่ยวข้อง ตรรกะอยู่ในโมดูล TypeScript เดียว (lib/yamljson.ts) ที่จัดการ mapping, sequence, scalar สตริงในเครื่องหมายคำพูด และการตัดคอมเมนต์ในบรรทัด

  1. 1
    ประมวลผลอินพุตเบื้องต้นทีละบรรทัด
    สำหรับอินพุต YAML ตัวแยกวิเคราะห์แบ่งข้อความเป็นบรรทัด ตัดคอมเมนต์ในบรรทัด (ติดตามสถานะเครื่องหมายคำพูดเพื่อไม่ตัด # ภายในสตริง) วัดความลึกการเยื้อง และทิ้งบรรทัดว่าง — สร้างรายการโทเค็นที่มีโครงสร้างก่อนเริ่มแยกวิเคราะห์
  2. 2
    ตัวแยกวิเคราะห์แบบ recursive descent สร้างต้นไม้ข้อมูล
    ตัวแยกวิเคราะห์ไล่รายการโทเค็นโดยใช้ระดับการเยื้องกำหนดโครงสร้าง รู้จักรายการ sequence (- value) คีย์ mapping (key: value) และบล็อกที่ซ้อนกัน scalar ผ่านขั้นแปลงชนิดที่จัดการ null, boolean, จำนวนเต็ม (ปฏิเสธค่าที่มีศูนย์นำหน้าอย่าง 007 เพื่อหลีกเลี่ยงข้อมูลเสียโดยไม่รู้ตัว) และทศนิยม — พร้อมโหมดที่เลือกได้ซึ่งคงคำเปล่าของ YAML 1.1 อย่าง yes, no, on และ off เป็นสตริงแทนที่จะแปลงเป็น boolean
  3. 3
    ฟีเจอร์ YAML ที่ไม่รองรับถูกแจ้ง ไม่ถูกทิ้งเงียบ ๆ
    ก่อนสร้างผลลัพธ์ เครื่องมือสแกนหา anchor (&name) alias (*name) merge key (<<:) block scalar (| และ >) เครื่องหมายหลายเอกสาร (---) และคีย์ mapping ที่ซ้ำ สิ่งใดเหล่านี้จะแสดงคำเตือนที่มองเห็นได้แทนที่จะสร้าง JSON ที่ผิดอย่างแนบเนียน
  4. 4
    แปลงเป็น JSON หรือสร้าง YAML แล้วพร้อมใช้งาน
    สำหรับ YAML→JSON ค่าที่แยกวิเคราะห์แล้วถูกส่งให้ JSON.stringify ด้วยการเยื้องที่เลือก (2 ช่องว่าง 4 ช่องว่าง แท็บ หรือย่อขนาด) สำหรับ JSON→YAML ตัวสร้างที่กำหนดเองไล่ค่า JavaScript ที่แยกวิเคราะห์แล้วและสร้าง YAML ที่เยื้อง ใส่เครื่องหมายคำพูดให้ scalar สตริงเฉพาะเมื่อจำเป็น (เช่น ค่าที่มี :, # หรือดูเหมือนคำสงวน) ผลลัพธ์ปรากฏทันทีขณะพิมพ์และคัดลอกหรือดาวน์โหลดได้

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย