JSON'dan YAML'a Dönüştürücü
JSON'u Kubernetes, Docker Compose, GitHub Actions veya Ansible için temiz ve okunaklı YAML'a dönüştürün; girinti, stil ve tırnaklar üzerinde tam kontrol sizde.
Tarayıcınızda çalışırKayıt gerekmezHiçbir şey yüklenmez
JSON'dan YAML'a nasıl kullanılır?
- JSON'u sol kutuya yapıştırın veya bir
.jsondosyası açın. - YAML siz yazdıkça sağda görünür.
- Girintiyi (2 veya 4 boşluk) ve stili seçin: blok (her satırda bir anahtar) veya belirli bir iç içelik seviyesinden itibaren flow (
{a: 1}/[x, y]). - Bir tırnak stili seçin; alfabetik sıra istiyorsanız Anahtarları sırala'yı işaretleyin.
- YAML'ı kopyalayın veya indirin. Geçersiz JSON satırı, sütunu ve olası nedeniyle birlikte bildirilir.
JSON neden YAML'a dönüştürülür?
JSON makineler ve API'ler için idealdir, ancak YAML'ı insanlar daha kolay okur ve düzenler: süslü parantez yok, zorunlu tırnak yok ve yorum desteği var. Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI ve Ansible dahil çoğu altyapı aracı YAML ile yapılandırılır; oysa başlangıç noktanız olan veri (API çıktısı, kubectl get -o json, Terraform state) çoğu zaman JSON'dur.
Blok ve flow stili
Blok stili her anahtarı ve liste öğesini ayrı bir satıra koyar ve yapılandırma dosyaları için geleneksel tercihtir. Flow stili JSON gibi satır içi {} ve [] kullanır ve kısa yaprak yapıları kompakt tutar. “2. seviyeden itibaren flow” üst iki seviyeyi blok stilinde tutar ve daha derin her şeyi satır içine alır; bu da portlar veya ortam değişkenleri gibi küçük nesnelerden oluşan uzun listeler için iyi sonuç verir.
Güvenli tırnaklama
Bir YAML ayrıştırıcısının yanlış yorumlayabileceği dizeler otomatik olarak tırnaklanır: 'no', 'on', '1.0', 'null' gibi değerler, başında * veya & olan dizeler ve : içeren dizeler. Stil kılavuzunuz her dizenin tırnaklanmasını gerektiriyorsa Her zaman tek tırnak veya Her zaman çift tırnak'ı seçin.
YAML 1.1 ve 1.2 tuzakları
Bu dönüştürücü güncel spesifikasyon olan YAML 1.2'yi izler. Birçok eski araç (PyYAML, Ruby'nin Psych'i, bazı Kubernetes ve Ansible sürümleri) hâlâ kuralların farklı olduğu YAML 1.1'i okur:
- Norveç sorunu: YAML 1.1'de
country: no,falseanlamına gelir; böylece Norveç'in ülke koduNOkaybolur. Aynısıyes,on,off,yveniçin de geçerlidir. YAML 1.2 yalnızcatruevefalsedeğerlerini boolean kabul eder. - Sekizlik sayılar:
07551.1'de sekizlik, ancak0o755kullanan 1.2'de düz bir ondalık sayıdır. Güvende olmak için dosya izinlerini tırnak içine alın. - Altmışlık sayılar: 1.1'de
22:30, 1350 sayısı olarak ayrıştırılabilir. Saatleri ve"8080:80"gibi port eşlemelerini tırnak içine alın.
JSON → YAML yönü belirsiz dizeleri ('no', 'on', 'y') otomatik olarak tırnaklar; böylece ürettiği YAML her iki sürümde de aynı şekilde okunur.
Sıkça sorulan sorular
Dönüştürme kayıpsız mı?
Neden bazı dizeler tırnaklı, bazıları değil?
'yes', '123' veya özel karakter içeren dizeler. Geri kalan her şey okunabilirlik için tırnaksız bırakılır.Çıktıya yorum ekleyebilir miyim?
# comments ekleyebilirsiniz.