แปลง YAML เป็น JSON
แปลงไฟล์คอนฟิก YAML สเปก OpenAPI และไฟล์ CI ให้เป็น JSON ที่ตัวแยกวิเคราะห์ API หรือตัวตรวจสอบสคีมาทุกตัวอ่านได้ อัปโหลดไฟล์ .yaml หรือ .yml แล้วดาวน์โหลด JSON ที่จัดย่อหน้าแล้ว
แปลงไฟล์ข้อมูล
หรือลากไฟล์ CSV, TSV, TXT … มาวางที่นี่ ·
สูงสุด 95 MB ต่อไฟล์· ได้สูงสุด 20 ไฟล์· ลบหลังจาก 30 นาที
ไฟล์จะถูกประมวลผลบนเซิร์ฟเวอร์ของเราและถูกลบหลังจาก 30 นาที
อักขระที่ใช้คั่นคอลัมน์ในไฟล์ CSV และไฟล์ข้อความ ทั้งตอนอ่านและตอนเขียน ค่าอัตโนมัติจะตรวจหาจากไฟล์ต้นฉบับและเขียนด้วยจุลภาค
UTF-8 ใช้ได้กับทุกภาษา เลือก UTF-8 พร้อม BOM หาก Excel บน Windows แสดงอักษรที่มีวรรณยุกต์หรืออักษรเอเชียเพี้ยนเมื่อเปิด CSV
สำหรับไฟล์ Excel, ODS และ Numbers: แปลงเฉพาะชีตแรก หรือทุกชีต (CSV หนึ่งไฟล์ต่อชีตใน ZIP หรือคีย์ JSON หนึ่งคีย์ต่อชีต)
ชื่อแท็บชีตในสเปรดชีตใหม่ ไม่เกิน 31 อักขระ
อาร์เรย์ของออบเจ็กต์จะใช้ชื่อคอลัมน์เป็นคีย์ในทุกแถว ส่วนอาร์เรย์ของอาร์เรย์จะกะทัดรัดกว่าและเก็บส่วนหัวไว้เป็นอาร์เรย์แรก
ชื่อของอิลิเมนต์ชั้นนอกที่ครอบทุกแถว โดยแต่ละแถวจะกลายเป็น <row> ภายในอิลิเมนต์นั้น
ใช้ในคำสั่ง CREATE TABLE และ INSERT ใช้ได้เฉพาะตัวอักษร ตัวเลข และขีดล่าง
การใส่เครื่องหมายคำพูดและชนิดคอลัมน์แตกต่างกันเล็กน้อยในแต่ละฐานข้อมูล ให้เลือกฐานข้อมูลที่จะนำเข้า
เขียนเซลล์วันที่ใหม่ให้เป็นรูปแบบเดียวกัน ISO (2026-10-18) ปลอดภัยที่สุดสำหรับฐานข้อมูลและโค้ด ส่วนคงเดิมจะเก็บไว้ตามที่ปรากฏในต้นฉบับ
วิธีใช้เครื่องมือนี้
- 1
อัปโหลดไฟล์ YAML
เพิ่มไฟล์ .yaml หรือ .yml ได้ครั้งละไม่เกิน 20 ไฟล์ ไฟล์ละไม่เกิน 95 MB ระบบจะคงชื่อเดิมไว้ ไฟล์ JSON ที่ได้จะใช้ชื่อเดียวกันแต่เปลี่ยนนามสกุล
- 2
เลือกแบบจัดย่อหน้าหรือแบบกะทัดรัด
ตัวเลือก จัดรูปแบบให้อ่านง่าย เปิดอยู่ ซึ่งจะเยื้อง JSON เพื่อให้อ่านและตรวจโค้ดได้สะดวก หากต้องการไฟล์บรรทัดเดียวสำหรับวางในเนื้อหาของคำขอ ให้ปิดตัวเลือกนี้ใน การตั้งค่าขั้นสูง
- 3
แปลงแล้วนำไปใช้
กด แปลงเป็น JSON จากนั้นดาวน์โหลดไฟล์ แล้วนำไปใช้กับ API, ตัวตรวจสอบ หรือสคริปต์ที่ต้องใช้ไฟล์นี้
เหตุผลที่นักพัฒนาแปลง YAML เป็น JSON
YAML เขียนขึ้นเพื่อให้คนอ่าน ใช้การเยื้องแทนวงเล็บปีกกา มีความคิดเห็นได้ และสตริงส่วนใหญ่ไม่ต้องใส่เครื่องหมายคำพูด จึงเป็นฟอร์แมตของ Kubernetes manifest, เวิร์กโฟลว์ GitHub Actions, ไฟล์ Docker Compose และสเปก OpenAPI ที่ทีมแก้ไขด้วยมือ ส่วน JSON เขียนขึ้นเพื่อโปรแกรม ทุกภาษามีตัวแยกวิเคราะห์ JSON ในไลบรารีมาตรฐาน เบราว์เซอร์อ่านได้โดยตรง และ HTTP API ส่วนใหญ่รับเฉพาะฟอร์แมตนี้
ดังนั้นการแปลงจึงเกิดขึ้นที่รอยต่อระหว่างระบบ วิศวกรแพลตฟอร์มส่ง manifest ผ่าน jq ซึ่งอ่านได้เฉพาะ JSON นักพัฒนาแบ็กเอนด์ส่งสเปก OpenAPI ให้ตัวสร้างโค้ดที่ต้องการ JSON ผู้ทดสอบโหลดข้อมูลทดสอบที่เขียนด้วย YAML เข้าชุดทดสอบ JavaScript ในทุกกรณี YAML ยังเป็นต้นฉบับหลัก และ JSON เป็นผลลัพธ์จากการสร้าง หากต้องจัดการทั้งไดเรกทอรีของฟีดหรือไฟล์ส่งออกแทนไฟล์คอนฟิก แปลง XML เป็น JSON ทำงานกับฟอร์แมตมาร์กอัปรุ่นเก่าได้ในแบบเดียวกัน
YAML และ JSON พัฒนาควบคู่กันมาอย่างไร
- Clark Evans เสนอ YAML เป็นครั้งแรก
- 2001
- YAML 1.2 ทำให้ JSON เป็นเซตย่อยของ YAML
- 2009
- RFC 8259 มาตรฐาน JSON ปัจจุบัน
- 2017
- เผยแพร่ YAML 1.2.2 ฉบับปรับปรุง
- 2021
ฟีเจอร์ที่มีเฉพาะใน YAML จะเป็นอย่างไรใน JSON
Anchor (&defaults) และ alias (*defaults) ช่วยให้ YAML นำบล็อกเดิมกลับมาใช้ซ้ำได้ แต่ JSON ไม่มีการอ้างอิง จึงแทนที่ alias แต่ละตัวด้วยสำเนาเต็มของบล็อกที่ผูกไว้
- JSON อาจยาวกว่า YAML อย่างเห็นได้ชัด
- Merge key (
<<: *defaults) จะถูกคลี่ออกในแบบเดียวกัน
บรรทัดที่ขึ้นต้นด้วย # เป็นคำอธิบายสำหรับคนอ่าน JSON ไม่มีที่เก็บสิ่งเหล่านี้ จึงถูกตัดออก
- เก็บ YAML ไว้ใน version control เป็นต้นฉบับที่มีความคิดเห็น
ค่า 2026-10-18 ที่ไม่มีเครื่องหมายคำพูดเป็นไทม์สแตมป์ในตัวแยกวิเคราะห์ YAML หลายตัว JSON ไม่มีชนิดข้อมูลวันที่ จึงเขียนเป็นสตริง "2026-10-18"
สตรีม YAML เก็บเอกสารได้หลายชุดโดยคั่นด้วย --- แต่ไฟล์ JSON เก็บได้เพียงค่าเดียว หากเครื่องมือปลายทางต้องการออบเจ็กต์เดียว ให้แยกเอกสารแต่ละชุดเป็นไฟล์ของตัวเอง
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}ข้อมูลเกี่ยวกับฟอร์แมต YAML และ JSON
YAML
YAML
YAML (“YAML Ain't Markup Language”) เป็นรูปแบบข้อมูลที่มนุษย์อ่านง่าย เปิดตัวครั้งแรกในปี 2001 ใช้การย่อหน้าแทนวงเล็บ รองรับคอมเมนต์ และเป็นซูเปอร์เซตของ JSON นิยมใช้อย่างแพร่หลายสำหรับการตั้งค่าใน Docker Compose, Kubernetes, GitHub Actions และแอปพลิเคชันจำนวนมาก การพึ่งพาช่องว่างทำให้ไฟล์เสียได้ง่ายเพียงเพราะเว้นวรรคผิดที่เดียว และค่าบางอย่าง เช่น “no” หรือวันที่ อาจถูกตีความผิดไปจากที่คาดไว้
- การบีบอัด
- –
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- –
- เปิดตัว
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
JavaScript Object Notation
JSON คือรูปแบบข้อความขนาดเบาสำหรับข้อมูลเชิงโครงสร้าง ได้รับความนิยมจาก Douglas Crockford ในช่วงต้นทศวรรษ 2000 และกำหนดเป็นมาตรฐาน RFC 8259 และ ECMA-404 แสดงอ็อบเจกต์ อาร์เรย์ สตริง ตัวเลข ค่าบูลีน และ null ด้วยไวยากรณ์ที่เรียบง่ายและอ่านง่าย เป็นรูปแบบเริ่มต้นของ API บนเว็บ ไฟล์การตั้งค่า และการแลกเปลี่ยนข้อมูลระหว่างแอปในแทบทุกภาษาโปรแกรม ไม่มีคอมเมนต์ วันที่ หรือสคีมาในตัว และไฟล์ขนาดใหญ่ที่ซ้อนกันหลายชั้นอ่านได้ยากหากไม่มีโปรแกรมดู
- การบีบอัด
- –
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- –
- เปิดตัว
- 2001 · Douglas Crockford
คนแปลง YAML เป็น JSON เมื่อคอนฟิกหรือสเปกที่เขียนให้คนอ่านต้องป้อนให้เครื่อง เช่น คำขอ API ตัวตรวจสอบสคีมา หรือเครื่องมือที่ไม่มีตัวแยกวิเคราะห์ YAML
คำถามที่พบบ่อยเกี่ยวกับการแปลง YAML เป็น JSON
ทำไมต้องแปลง YAML เป็น JSON ในเมื่อเก็บข้อมูลเดียวกัน
เพราะเครื่องมือจำนวนมากอ่านได้เฉพาะ JSON ตัวอ่าน JSON มีมาให้ในทุกภาษาโปรแกรมและเบราว์เซอร์ ขณะที่ YAML ต้องใช้ไลบรารีเพิ่มเติม เนื้อหาคำขอของ REST API, ตัวตรวจสอบ JSON Schema, jq รวมถึงไฟล์อย่าง package.json หรือ manifest.json ของส่วนขยายเบราว์เซอร์ ล้วนต้องใช้ JSON
คอมเมนต์ใน YAML จะเป็นอย่างไรหลังแปลง
ความคิดเห็นจะถูกตัดออก เพราะ RFC 8259 ไม่มีไวยากรณ์สำหรับความคิดเห็นใน JSON บรรทัดที่ขึ้นต้นด้วย # จึงไม่มีที่ให้เก็บ ควรเก็บไฟล์ YAML ไว้เป็นต้นฉบับที่มีคำอธิบาย และถือว่า JSON เป็นสำเนาที่สร้างขึ้นใหม่ได้ทุกเมื่อ
ทำไม NO หรือ off จึงกลายเป็น false
ตัวแยกวิเคราะห์ที่ใช้ YAML 1.1 จะอ่าน yes, no, on และ off เป็นค่าบูลีน ดังนั้นรหัสประเทศอย่าง NO ของนอร์เวย์อาจกลายเป็น false ส่วน YAML 1.2 จำกัดบูลีนไว้เพียง true และ false แต่ไม่ใช่ทุกเครื่องมือที่ทำตาม ให้ใส่เครื่องหมายคำพูดครอบค่าเหล่านี้ใน YAML เช่น "NO" แล้วค่าจะยังเป็นสตริงใน JSON
แปลงเทมเพลต CloudFormation ที่เขียนด้วย YAML ได้หรือไม่
AWS CloudFormation รองรับทั้งสองฟอร์แมต แต่แท็กแบบสั้นอย่าง !Ref และ !GetAtt มีเฉพาะใน YAML ส่วนเทมเพลต JSON จะเขียนเป็นฟังก์ชันแบบเต็ม เช่น {"Ref": "MyBucket"} หรือ {"Fn::GetAtt": [...]} ควรแก้แท็กแบบสั้นให้เป็นแบบเต็มก่อนแปลง เพื่อให้เทมเพลต JSON ใช้งานได้
หากต้องการแปลงย้อนกลับต้องทำอย่างไร
ใช้ แปลง JSON เป็น YAML ซึ่งเป็นทิศทางที่พบบ่อยเมื่อต้องเปลี่ยนผลตอบกลับจาก API หรือไฟล์ที่สร้างขึ้นให้เป็นไฟล์คอนฟิกที่อ่านง่ายใน repository