Handytool
คำแนะนำสำหรับนักพัฒนาอ่าน5นาทีอัปเดต11 มี.ค. 2569

เครื่องมือ YAML ทันที

ทำความสะอาด YAML และแปลงเป็น JSON ในคลิกเดียว

ตัวจัดรูปแบบ YAML ของ Handytool ทำให้การ indent เป็นมาตรฐาน validate syntax พร้อมบรรทัดข้อผิดพลาดที่แน่นอน และแปลงระหว่าง YAML และ JSON — ทั้งหมดในเบราว์เซอร์ของคุณโดยไม่อัปโหลด byte

ประเด็นสำคัญ

  • 01จัดรูปแบบ YAML พร้อม consistent indentation โดยใช้ parser js-yaml — ไลบรารีเดียวกับที่ใช้ใน Node.js build tooling
  • 02Validate syntax และรายงาน exact line numbers สำหรับข้อผิดพลาด
  • 03แปลงระหว่าง YAML และ JSON ในทั้งสองทิศ ด้วย correct type preservation
  • 04ไม่มีการอัปโหลด — การดำเนินการทั้งหมดทำงานเฉพาะในเบราว์เซอร์ของคุณ

เหตุใดการจัดรูปแบบ YAML จึงสำคัญสำหรับไฟล์ Config

YAML คือ config language ค่าเริ่มต้นสำหรับ Kubernetes, GitHub Actions, Docker Compose, Helm charts และอื่นๆ อีกมากมาย นอกจากนี้ยังมีความไว ต่อ indentation อย่างโด่งดัง — บรรทัด mis-indented เดียวสามารถสร้าง type mismatch ที่ปกปิดหรือข้อผิดพลาดการแยก hard ที่บล็อก deployment การจัดรูปแบบเป็นประจำทำให้ไฟล์มีความสอดคล้องและจับปัญหาก่อนที่จะถึง CI

การแปลงระหว่าง YAML และ JSON มีประโยชน์เท่าเทียมกัน เครื่องมือบางตัวยอมรับเฉพาะ JSON สำหรับการเรียก API หรือความหมายนิยาม ขณะที่มนุษย์โดยทั่วไปชอบ YAML สำหรับไฟล์ config ที่มีอายุยาว การสามารถ round-trip ระหว่าง ไม่สูญเสีย data types — numbers ยังคง numbers, booleans ยังคง booleans — ประหยัดเวลาและป้องกัน subtle bugs

วิธีจัดรูปแบบหรือแปลง YAML

  1. 01

    วาง YAML หรือ JSON ของคุณ

    วาง Kubernetes manifest, GitHub Actions workflow, Helm values file หรือ YAML document อื่นๆ สำหรับการแปลง JSON-to-YAML วาง JSON แทน

  2. 02

    เลือก action

    เลือก Format YAML เพื่อทำให้ indent เป็นมาตรฐานและทำความสะอาด document ในตำแหน่ง เลือก YAML to JSON หรือ JSON to YAML เพื่อแปลงรูปแบบทั้งหมด

  3. 03

    ตรวจสอบข้อผิดพลาด หากมี

    หากป้อนข้อมูลมี syntax error เครื่องมือจะนำเสนอ exact line number และ reason จากตัว parser js-yaml — parser เดียวกับที่ Node.js tooling ของคุณใช้ ดังนั้นข้อผิดพลาดจึงตรงกับสิ่งที่คุณเห็นในการผลิต

  4. 04

    คัดลอกผลลัพธ์

    คลิกคัดลอกเพื่อรับผลลัพธ์ที่จัดรูปแบบหรือแปลง วางกลับลงในไฟล์ config ของคุณ, API body หรือ schema definition

เวลาที่เครื่องมือนี้ช่วยประหยัดเวลาของคุณ

  • 01Kubernetes manifest ได้ drift — ทำให้ indent เป็นมาตรฐานก่อนที่จะ commit
  • 02GitHub Actions workflow ล้มเหลวในการ parse — validate เพื่อรับ exact error line
  • 03API ยอมรับเฉพาะ JSON แต่ config เก็บเป็น YAML — แปลงด้วยคลิกเดียว
  • 04Onboarding service ใหม่ — แปลง JSON example payload เป็น YAML สำหรับ Helm chart
  • 05ทำการคัดลอก YAML จาก Stack Overflow — จัดรูปแบบใหม่เพื่อตรงกับ 2-space style ของโครงการคุณ
  • 06Debugging Helm values merge — validate ว่า values.yaml ที่แต่ละตัวสะอาดแต่ละตัว

Private, ไม่จำเป็นต้องอัปโหลด

การจัดรูปแบบและการแปลงทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยใช้ js-yaml — ไลบรารีเดียวกับที่บันไฟล์เข้า Webpack, Rollup และเครื่องมือ JavaScript build ส่วนใหญ่ ไฟล์ config, ความเห็น secrets และชื่อ environment variables ของคุณไม่ต้องออกจากอุปกรณ์ของคุณ

ตัว parser เป้าหมาย YAML 1.2 ซึ่งคือสิ่งที่ Kubernetes, GitHub Actions และ Docker Compose ทั้งหมดใช้ หากไฟล์ validate ที่นี่ มันจะโหลดถูกต้องในเครื่องมือเหล่านั้น

YAML Formatter FAQ

การจัดรูปแบบ YAML จะรักษา comments หรือไม่?

ไม่ ตัว parser js-yaml ลบประเภท comments ระหว่าง parse — นี่คือข้อจำกัดของ YAML parsers JavaScript ทั้งหมด จัดรูปแบบก่อน จากนั้นเพิ่ม comments กลับด้วยตนเอง

เวอร์ชัน YAML นี้รองรับอะไร?

YAML 1.2 ซึ่งเป็นเวอร์ชันที่ใช้โดย Kubernetes, GitHub Actions, Docker Compose และ Helm สิ่งที่ validate ที่นี่จะโหลดได้สะอาดในเครื่องมือเหล่านั้น

การแปลงจาก YAML เป็น JSON จะรักษาประเภท หรือไม่?

ใช่ Numbers, booleans, null และ date strings ทั้งหมด round-trip อย่างถูกต้อง ค่า true ใน YAML กลายเป็น boolean true ใน JSON ไม่ได้สตริง 'true'

ความแตกต่างระหว่างการจัดรูปแบบและการแปลงคืออะไร?

การจัดรูปแบบทำให้ไฟล์ยังคงเป็น YAML และทำให้ whitespace และ indentation เป็นมาตรฐาน การแปลงเปลี่ยนรูปแบบผลลัพธ์ทั้งหมด — YAML to JSON สร้าง .json-compatible document

YAML ของฉันมีเอกสารหลายตัวคั่นด้วย --- จะถูกประมวลผลทั้งหมดหรือไม่?

เอกสารแรกถูก parse และส่งออกซ้ำ สำหรับไฟล์เอกสารหลายตัว แยกแต่ละส่วนใน --- และประมวลผลแต่ละส่วนแยกต่างหาก

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

ทำงานต่อด้วยเครื่องมือสำหรับนักพัฒนา

เครื่องมือสำหรับนักพัฒนา