JSON → YAML

ตัวแปลง JSON→YAML ออนไลน์ฟรี แปลง JSON เป็น YAML 1.2 ในคลิกเดียว ปรับแต่งการเยื้อง ซ่อมแซมข้อผิดพลาดไวยากรณ์ JSON อัตโนมัติ สร้างไฟล์การตั้งค่า YAML สำหรับ Kubernetes, Docker Compose, GitHub Actions ประมวลผลทั้งหมดในเบราว์เซอร์

คำแนะนำที่เกี่ยวข้อง

YAML คืออะไร? ทำไมต้องแปลง JSON เป็น YAML?

YAML (YAML Ain't Markup Language) เป็นรูปแบบการซีเรียลไลซ์ข้อมูลที่เหมาะกับมนุษย์ ออกแบบมาให้ไฟล์การตั้งค่าอ่านและเขียนได้ง่าย YAML 1.2 เป็นเวอร์ชันเสถียรปัจจุบัน เสนอโดย Clark Evans ในปี 2001 ปัจจุบัน YAML ถูกใช้อย่างกว้างขวางในการตั้งค่าของเครื่องมือ DevOps หลักเกือบทั้งหมด: Kubernetes, Docker Compose, GitHub Actions, Ansible, CircleCI, Prometheus

JSON และ YAML มีความสัมพันธ์แบบซูเปอร์เซต (JSON เป็นซับเซตของ YAML) การแปลงมีความสำคัญในทางปฏิบัติอย่างมาก: ① เพิ่มความสามารถในการอ่าน — YAML ใช้การเยื้องแทนวงเล็บปีกกาและเครื่องหมายจุลภาค; ② รองรับความคิดเห็น — YAML รองรับ # ความคิดเห็น; ③ รองรับหลายเอกสาร; ④ รู้จำประเภทอัตโนมัติ

กรณีการใช้งาน

  • สร้าง Kubernetes manifest: แปลง JSON จากเทมเพลต Helm และ CI/CD เป็น Deployment/Service YAML มาตรฐาน
  • การตั้งค่า Docker Compose: แปลง JSON จากแพลตฟอร์มคอนเทนเนอร์เป็น docker-compose.yml ที่อ่านได้
  • GitHub Actions / GitLab CI: แปลง JSON จากสคริปต์อัตโนมัติเป็น YAML pipeline
  • สร้าง Ansible Playbook: แปลง JSON การจัดการงานเป็นรูปแบบ Ansible
  • รวมการตั้งค่าไมโครเซอร์วิส: ย้ายการตั้งค่า JSON ไปยังที่เก็บ YAML
  • สร้าง YAML จาก Swagger/OpenAPI: แปลง JSON Schema เป็นข้อกำหนด OpenAPI YAML

วิธีการใช้งาน

  1. วาง JSON ในตัวแก้ไขด้านซ้ายหรืออัปโหลดไฟล์ .json/.txt หรือคลิก 'ตัวอย่าง' เพื่อโหลดตัวอย่าง
  2. เครื่องมือแปลงแบบเรียลไทม์ตาม YAML 1.2 ผลลัพธ์ทางขวา เปลี่ยนการเยื้องในเมนูแบบเลื่อนลง
  3. หากมีข้อผิดพลาดไวยากรณ์ JSON ปุ่ม 'ซ่อม JSON' จะปรากฏ — คลิกเพื่อซ่อมแซมอัตโนมัติ
  4. หากต้องการ escape Unicode หรือสตริง ใช้ปุ่มบนแถบเครื่องมือด้านล่าง
  5. คัดลอกผลลัพธ์ด้วยปุ่ม 'คัดลอก' หรือดาวน์โหลดเป็น output.yaml

คุณสมบัติ

  • ผลลัพธ์มาตรฐาน YAML 1.2: ตามข้อกำหนด YAML 1.2 อย่างเป็นทางการ ใช้ได้โดยตรงใน Kubernetes, Docker Compose, GitHub Actions, Ansible
  • ปรับแต่งการเยื้องได้: สลับ 2/4 ช่องว่างสำหรับสไตล์การเขียนโค้ดต่างๆ (YAML แนะนำอย่างเป็นทางการ 2 ช่องว่าง)
  • ซ่อมแซม JSON อัตโนมัติ: เอ็นจิน tryFixJSON ในตัวตรวจจับและซ่อมแซมเครื่องหมายจุลภาคท้าย อัญประกาศเดี่ยว และความคิดเห็นก่อนการแปลง
  • แปลง Unicode สองทิศทาง: escape/unescape \uXXXX ในคลิกเดียว
  • Escape/unescape สตริง: เพิ่มหรือลบอักขระ escape สำหรับอัญประกาศ แบ็กสแลช และขึ้นบรรทัดใหม่
  • จัดรูปแบบและบีบอัด JSON: จัดรูปแบบด้วยการเยื้องหรือบีบอัดเป็นบรรทัดเดียว
  • แก้ไขสองทิศทางแบบเรียลไทม์: วาง JSON ทางซ้าย ผลลัพธ์ YAML แสดงทันทีทางขวา
  • อัปโหลดและดาวน์โหลดไฟล์: รองรับ .json/.txt ดาวน์โหลดเป็น config.yaml หรือ output.yaml
  • ปุ่มลัด: Shift+Cmd/Ctrl+F จัดรูปแบบ C บีบอัด U Unicode Z เลิก Unicode / escape . unescape
  • แผงลากได้และประวัติ: ปรับความกว้างแผงได้ บันทึก 200 รายการล่าสุดอัตโนมัติ
  • สลับไปตัวจัดรูปแบบ JSON: หลังแปลง คลิกเดียวสลับไปตัวจัดรูปแบบ JSON
  • ประมวลผลในเครื่องทั้งหมด: การแยกวิเคราะห์และแปลงทั้งหมดทำงานใน JavaScript ของเบราว์เซอร์

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

จะแปลง JSON เป็นรูปแบบ YAML ได้อย่างไร?

วาง JSON ในตัวแก้ไขด้านซ้าย — เครื่องมือจะแปลงเป็นรูปแบบที่อ่านได้ตาม YAML 1.2 โดยอัตโนมัติ คู่คีย์-ค่ากลายเป็น key: value อ็อบเจกต์ซ้อนกลายเป็นลำดับชั้นการเยื้อง อาร์เรย์กลายเป็นไวยากรณ์ `- รายการ`

YAML และ JSON เหมาะกับสถานการณ์ใด?

YAML — สำหรับการตั้งค่าที่มนุษย์อ่านได้ (Kubernetes, Docker Compose, GitHub Actions, Ansible, CI/CD) JSON — สำหรับการแยกวิเคราะห์ด้วยเครื่องและแลกเปลี่ยนข้อมูล (REST API, ไมโครเซอร์วิส)

การเยื้อง 2 หรือ 4 ช่องว่างดีกว่ากัน?

YAML แนะนำ 2 ช่องว่างอย่างเป็นทางการ (สไตล์ Python) นี่คือมาตรฐานเริ่มต้นสำหรับ Kubernetes, Docker Compose, GitHub Actions

YAML ที่สร้างขึ้นใช้ใน Kubernetes โดยตรงได้หรือไม่?

ได้ เครื่องมือปฏิบัติตามข้อกำหนด YAML 1.2 อย่างเคร่งครัด ผลลัพธ์ตรงตามข้อกำหนดไวยากรณ์ Kubernetes (kubectl apply)

JSON มีอักขระพิเศษจะเสียหายหรือไม่?

ไม่เสียหาย เครื่องมือรองรับ UTF-8 เต็มรูปแบบ รวมถึงอักขระ Unicode ทั้งหมด

การแก้ไขปัญหา

JSON เกิดข้อผิดพลาด «Unexpected token»?

ข้อผิดพลาดไวยากรณ์ JSON สาเหตุ: เครื่องหมายจุลภาคเกิน อัญประกาศเดี่ยวแทนคู่ คีย์ไม่มีอัญประกาศ ความคิดเห็น คลิก 'ซ่อม JSON'

kubectl apply แจ้ง «yaml: invalid character»?

มักเป็นข้อผิดพลาดการเยื้อง ตรวจสอบว่าการเยื้องทั้งหมดเป็นช่องว่างและจำนวนเท่ากันในระดับเดียวกัน

อภิธานศัพท์

YAML
YAML Ain't Markup Language รูปแบบการซีเรียลไลซ์ข้อมูลที่เหมาะกับมนุษย์ ภาษาการตั้งค่ามาตรฐานโดยพฤตินัยสำหรับเครื่องมือ DevOps
การเยื้อง
YAML แสดงลำดับชั้นผ่านการเยื้อง (ใช้เฉพาะช่องว่าง ห้ามใช้ Tab) ข้อผิดพลาดการเยื้องเป็นปัญหาที่พบบ่อยที่สุดของ YAML
YAML 1.2
เวอร์ชันเสถียรปัจจุบันของข้อกำหนด YAML เครื่องมือเข้ากันได้กับเวอร์ชัน 1.2.2

Privacy & Security

การแยกวิเคราะห์ JSON การสร้าง YAML การ escape สตริง การแปลง Unicode การซ่อมแซม JSON อัตโนมัติ และการอ่านไฟล์ทั้งหมดดำเนินการในเครื่องด้วยเอ็นจิน JavaScript ของเบราว์เซอร์ ข้อมูลจะไม่ถูกส่งผ่านเครือข่ายไปยังเซิร์ฟเวอร์

Authoritative References