tigtools

ตัวแปลง JSON เป็น YAML

วาง JSON แล้วรับ YAML แบบบล็อกสำหรับไฟล์ config, Kubernetes manifest หรือ CI pipeline ไม่มีการอัปโหลดข้อมูลใด ๆ

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

การเยื้อง

แปลง YAML เป็น JSON แทน

วิธีใช้งาน

  1. วาง JSON ลงในช่องป้อนข้อมูล หรือลองใช้ตัวอย่าง
  2. เลือกการเยื้อง 2 หรือ 4 ช่องว่าง
  3. คัดลอก 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 ของคุณจะไม่ถูกอัปโหลดหรือจัดเก็บ