วิธีใช้งาน
- วาง JSON ลงในช่องป้อนข้อมูล หรือลองใช้ตัวอย่าง
- เลือกการเยื้อง 2 หรือ 4 ช่องว่าง
- คัดลอก YAML หรือดาวน์โหลดเป็นไฟล์ .yaml
วิธีการทำงาน
JSON จะถูกแยกวิเคราะห์อย่างเข้มงวด ข้อผิดพลาดทางไวยากรณ์จะระบุบรรทัดและคอลัมน์ (จุลภาคท้าย, เครื่องหมายคำพูดเดี่ยว, คอมเมนต์ และอื่น ๆ) จากนั้นข้อมูลจะถูกเขียนเป็น YAML แบบ block style ด้วยไลบรารี yaml โอเพนซอร์ส โดยคงลำดับคีย์และไม่ตัดบรรทัดสตริงยาว
สตริงที่ตัวแยกวิเคราะห์ YAML 1.1 รุ่นเก่าอาจตีความเป็นอย่างอื่นจะถูกใส่เครื่องหมายคำพูด: yes, no, on, off ตัวเลขที่ขึ้นต้นด้วยศูนย์ เช่น 0777 และค่าที่คล้ายวันที่ เช่น 2024-01-31 เพื่อให้ YAML มีความหมายเดียวกันไม่ว่าจะใช้ตัวแยกวิเคราะห์ใด สตริงหลายบรรทัดจะถูกเขียนให้รักษาการขึ้นบรรทัดไว้
ตัวเลข JSON, boolean และ null จะแมปกับ YAML โดยตรง สำหรับทิศทางตรงข้ามใช้ YAML เป็น JSON หรือตัวแปลง JSON ⇄ YAML แบบสองทาง
ตัวอย่าง
Kubernetes manifest
วาง JSON จาก kubectl get -o json แล้วได้ object เดียวกันเป็น YAML ที่คุณแก้ไขและ apply ได้
ค่าที่ต้องคงเป็น string
{"enabled": "on", "mode": "0755"} จะกลายเป็น enabled: "on" และ mode: "0755" ดังนั้นค่าทั้งสองจึงไม่ถูกตีความเป็น boolean หรือเลขฐานแปด
คำถามที่พบบ่อย
ทำไมบางค่าจึงอยู่ในเครื่องหมายคำพูด?
เพราะหากไม่มีเครื่องหมายคำพูด ตัวแยกวิเคราะห์ YAML บางตัวจะอ่านเป็น boolean ตัวเลข หรือวันที่ การใส่เครื่องหมายคำพูดจึงช่วยให้ค่ายังเป็น string
แปลง JSON ที่มีคอมเมนต์ได้ไหม
ไม่ได้ คอมเมนต์ไม่ใช่ JSON ที่ถูกต้อง ข้อความแสดงข้อผิดพลาดจะบอกตำแหน่งคอมเมนต์เพื่อให้คุณลบออก
ลำดับคีย์ยังคงเดิมไหม
ใช่ คีย์จะถูกเขียนตามลำดับเดียวกับใน JSON
ความเป็นส่วนตัว
การแปลงทำงานทั้งหมดภายในเบราว์เซอร์ของคุณ JSON และ YAML ของคุณจะไม่ถูกอัปโหลดหรือจัดเก็บ