DokumenGambarMediaAlat PDF

Konversi JSON ke YAML Online

Konversi JSON ke YAML yang mudah dibaca. Ideal untuk membuat konfigurasi Docker Compose, Kubernetes, atau GitHub Actions.


name: John Doe
age: 30
active: true
tags:
  - developer
  - javascript
address:
  city: Madrid
  zip: 28001
Processed in your browser

Dari JSON API ke konfigurasi YAML yang mudah dibaca

Buat konfigurasi DevOps

Transformasi respons JSON dari API Kubernetes, Docker, atau alat cloud menjadi file konfigurasi YAML yang dapat diedit.

Alur kerja DevOps

Konversi template JSON CloudFormation atau Azure ARM ke YAML yang setara untuk keterbacaan dan pemeliharaan yang lebih baik.

100% privat

JSON Anda diproses di browser Anda. Tidak pernah diunggah ke server mana pun. Tanpa pendaftaran, tanpa batas penggunaan.

YAML yang bersih

Indentasi 2 spasi, nilai bertipe benar, siap ditempel ke docker-compose.yml atau manifes Kubernetes.

Tiga langkah, tanpa kerumitan

1

Tempel JSON Anda

Tempel JSON valid apa pun: respons API, konfigurasi, data terstruktur. JSON terformat maupun yang diminifikasi keduanya diterima.

2

Konversi ke YAML yang bersih

JSON dikonversi ke YAML dengan indentasi 2 spasi, mengikuti konvensi proyek DevOps yang paling populer.

3

Salin dan gunakan YAML

Salin YAML yang dihasilkan untuk digunakan sebagai dasar docker-compose.yml, manifes Kubernetes, atau konfigurasi YAML apa pun.

Ada pertanyaan?

YAML mengungguli JSON dalam keterbacaan untuk konfigurasi panjang dan hierarkis. Keunggulan utama YAML adalah: dukungan komentar (penting dalam file konfigurasi yang terdokumentasi), sintaksis yang lebih ringkas (tanpa kurung kurawal atau tanda kutip dalam sebagian besar kasus), representasi string multi-baris yang lebih baik (skrip, perintah, teks), dan pembacaan daftar yang lebih alami. JSON lebih unggul ketika tujuannya adalah API atau program yang memprosesnya secara otomatis: penguraian lebih cepat, spesifikasi lebih sederhana dan ketat, dan ambiguitas lebih sedikit. Aturan praktis DevOps: YAML untuk file yang diedit langsung oleh manusia, JSON untuk data yang ditukar antarsistem.

Konverter menghasilkan YAML yang secara struktural setara dengan JSON input, tanpa komentar (JSON tidak memiliki komentar, sehingga tidak ada informasi yang perlu dipindahkan). Namun, YAML yang dihasilkan adalah titik awal yang sangat baik: buka di editor apa pun dan tambahkan komentar secara manual dengan karakter # sebelum atau setelah baris mana pun. Dalam alat seperti docker-compose.yml dan manifes Kubernetes, komentar sangat penting untuk mendokumentasikan tujuan setiap nilai konfigurasi.

JSON jauh lebih cepat untuk diurai daripada YAML. Penguraian JSON adalah O(n) dengan konstanta yang sangat rendah: parser seperti simdjson (digunakan dalam Node.js sejak versi 17) memproses hingga 3 GB/s pada perangkat keras modern. YAML memerlukan parser yang lebih kompleks (menangani anchor, alias, tipe eksplisit, berbagai gaya string) dan biasanya 10-50 kali lebih lambat dari JSON untuk volume data yang sama. Untuk file konfigurasi kecil, perbedaannya tidak terasa. Untuk API yang menukar jutaan pesan per detik, JSON adalah pilihan yang tepat.

Konverter menggunakan indentasi 2 spasi, yang merupakan konvensi yang diadopsi oleh hampir seluruh ekosistem DevOps: Kubernetes (kubectl menghasilkan YAML dengan 2 spasi), Helm, GitHub Actions, GitLab CI, Ansible, dan Docker Compose. Beberapa proyek menggunakan 4 spasi (umum dalam proyek Python), tetapi 2 spasi adalah standar de facto dalam komunitas DevOps.

Konversi tipe bersifat langsung: angka JSON (bilangan bulat dan float) direpresentasikan sebagai skalar YAML tanpa tanda kutip; boolean JSON (true/false) menjadi true/false dalam YAML; null JSON menjadi null atau karakter tilde dalam YAML; string direpresentasikan tanpa tanda kutip ketika tidak ambigu, atau dalam tanda kutip tunggal atau ganda ketika nilai dapat diinterpretasikan sebagai tipe lain.

Konversi JSON ke YAML: dari respons API ke konfigurasi DevOps yang mudah dibaca

Mengonversi JSON ke YAML adalah operasi rutin dalam alur kerja DevOps modern. API Kubernetes (REST API Kubernetes mengembalikan sumber daya dalam JSON secara default), AWS CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager, dan sebagian besar alat infrastruktur sebagai kode memiliki antarmuka JSON native, tetapi penggunanya lebih suka bekerja dengan file konfigurasi YAML untuk keterbacaan yang lebih baik. kubectl, alat baris perintah Kubernetes, secara otomatis mengonversi antara YAML dan JSON: ketika Anda menjalankan perintah untuk mendapatkan deployment dalam format YAML, Kubernetes mengembalikan objek API JSON dan kubectl mengonversinya ke YAML untuk ditampilkan.

YAML (spesifikasi 1.2, diterbitkan di yaml.org pada Juli 2009) adalah superset JSON, menjamin bahwa konversi JSON ke YAML selalu mungkin tanpa kehilangan informasi. Arah sebaliknya (YAML ke JSON) hanya kehilangan komentar, yang tidak dapat direpresentasikan dalam JSON. Keunggulan YAML untuk konfigurasi manusia terdokumentasi dengan baik: tidak adanya kurung kurawal dan tanda kurung mengurangi kebisingan visual sebesar 30-40% untuk konfigurasi tipikal; komentar memungkinkan mendokumentasikan tujuan setiap parameter langsung dalam file; string multi-baris (terutama dengan blok literal) memungkinkan menyertakan skrip shell, kueri SQL, atau konten file langsung dalam konfigurasi tanpa menghindar dari karakter khusus.

Dalam ekosistem Kubernetes, pilihan antara YAML dan JSON sudah mapan: file yang dibuat dan dipelihara pengembang dalam repositori git adalah YAML; data yang dikirim kubectl ke server API adalah JSON (kubectl mengonversi YAML ke JSON secara internal sebelum melakukan panggilan HTTP); respons server API adalah JSON; dan alat otomasi (Helm, Kustomize, Argo CD, Flux) bekerja dengan YAML sebagai input dan JSON sebagai protokol internal. Pemisahan antara format manusia (YAML) dan format protokol (JSON) ini juga diikuti oleh GitHub Actions, GitLab CI, Ansible, dan Terraform. Convertir.ai melakukan konversi sepenuhnya di browser Anda tanpa mengunggah data apa pun.