CanDoYa
TH

เครื่องมือแปลง YAML เป็น JSON

ทำงานในเบราว์เซอร์ทั้งหมด ไม่ต้องอัปโหลด ไม่ต้องสมัครสมาชิก

JSON
วาง YAML เพื่อแปลงเป็น JSON
แชร์เครื่องมือนี้

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

วาง YAML ลงในตัวแปลง ระบบจะอ่านเอกสารและคงโครงสร้างออบเจ็กต์ อาร์เรย์ และค่าสเกลาร์ไว้ ก่อนแปลงเป็น JSON มาตรฐาน เลือกผลลัพธ์แบบบรรทัดเดียว หรือเยื้องด้วยช่องว่าง 2 หรือ 4 ช่องได้ เอกสาร YAML หลายชุดจะถูกรวมเป็นอาร์เรย์ JSON ชุดเดียว และทุกขั้นตอนทำงานในเบราว์เซอร์

วิธีใช้งาน

  1. 1วาง YAML. พิมพ์ YAML วางตัวอย่างสั้น ๆ หรือโหลดตัวอย่างที่มีหลายเอกสาร
  2. 2เลือกการเยื้อง JSON. เลือกแบบบรรทัดเดียว หรือเยื้องด้วยช่องว่าง 2 หรือ 4 ช่อง ผลลัพธ์จะอัปเดตทันที
  3. 3คัดลอกหรือดาวน์โหลด. ตรวจข้อความสถานะ แล้วคัดลอก JSON หรือบันทึกเป็นไฟล์ .json

เหมาะกับใคร

YAML เหมาะกับไฟล์กำหนดค่าที่ต้องแก้ไขด้วยคน ส่วน JSON ใช้ได้กับ API สคริปต์ และเว็บแอปแทบทุกประเภท ตัวแปลงนี้รองรับ mapping, sequence, block string, anchor และ alias ตาม YAML 1.2 แล้วสร้าง JSON ที่คัดลอกหรือดาวน์โหลดได้ คอมเมนต์จะถูกตัดออกเพราะ JSON ไม่มีไวยากรณ์สำหรับคอมเมนต์

การแปลงทำงานภายในเครื่องโดยไม่อัปโหลดข้อมูลหรือสมัครบัญชี จึงเหมาะกับ Kubernetes manifest การตั้งค่า deployment และคอนฟิกภายในที่อาจมีชื่อโฮสต์ โทเค็น หรือค่าลับอื่น ๆ

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

YAML ถูกอัปโหลดระหว่างแปลงหรือไม่?

ไม่ การอ่าน YAML และสร้าง JSON เกิดขึ้นในเบราว์เซอร์ ข้อมูลจะไม่ถูกส่งไปยังเซิร์ฟเวอร์แปลงไฟล์ คอนฟิกส่วนตัวจึงอยู่ในอุปกรณ์ หากต้นฉบับมีข้อมูลลับ อย่าแชร์สถานะหน้าเว็บหรือผลลัพธ์ที่คัดลอก

YAML JSON Converter นี้ใช้ฟรีหรือไม่?

ใช้ฟรี สามารถแปลง คัดลอก และดาวน์โหลด JSON ได้โดยไม่ต้องสมัครหรือดาวน์โหลดโปรแกรม ไม่มีการจำกัดจำนวนเอกสารเพราะการประมวลผลทำบนอุปกรณ์ แต่ไฟล์ที่ใหญ่มากยังขึ้นอยู่กับหน่วยความจำและความเร็วของเบราว์เซอร์

คอมเมนต์ใน YAML จะเป็นอย่างไร?

คอมเมนต์จะถูกลบระหว่างแปลง เพราะ JSON มาตรฐานไม่รองรับคอมเมนต์ คีย์และค่ายังคงอยู่ แต่ข้อความที่ขึ้นต้นด้วย # จะหายไป หากต้องเก็บหมายเหตุ ให้บันทึกเป็นฟิลด์จริง เช่น _comment ก่อนแปลง

รองรับเอกสาร YAML หลายชุดที่คั่นด้วย --- หรือไม่?

รองรับ โดย YAML stream ที่มีอย่างน้อยสองเอกสารจะถูกแปลงเป็นอาร์เรย์ JSON ชุดเดียวตามลำดับเดิม แต่ละรายการในอาร์เรย์แทนเอกสาร YAML หนึ่งชุด หากมีเอกสารเดียว ผลลัพธ์จะยังเป็นออบเจ็กต์ อาร์เรย์ หรือค่าสเกลาร์โดยไม่เพิ่มชั้นที่ไม่จำเป็น

anchor และ alias ของ YAML ถูกแปลงอย่างไร?

ระบบจะแก้ค่า anchor และ alias ก่อนเขียน JSON เนื่องจาก JSON ไม่มีไวยากรณ์ anchor แต่ละ alias จึงกลายเป็นค่าเต็มที่อ้างถึง ระบบจะปฏิเสธ alias ที่วนกลับมาหาตัวเองหรือขยายมากเกินไป เพื่อเลี่ยงผลลัพธ์ที่ไม่ปลอดภัยหรือทำให้เข้าใจผิด

ทำไมค่า YAML บางชนิดจึงถูกปฏิเสธ?

custom tag และค่าที่มีเฉพาะใน YAML เช่น set ข้อมูลไบนารี timestamp และจำนวนที่ไม่เป็นค่าจำกัด อาจเป็นชนิดข้อมูลที่ JSON มาตรฐานแทนไม่ได้ การเปลี่ยนค่าเงียบ ๆ จะทำให้ความหมายของเอกสารเปลี่ยน ตัวแปลงจึงแจ้งว่าไม่รองรับ ใส่ค่าในเครื่องหมายคำพูดเพื่อเก็บเป็นข้อความ หรือเปลี่ยนเป็น mapping, sequence หรือค่าสเกลาร์ที่ใช้กับ JSON ได้