İçeriğe atla
SPCXTools

YAML JSON Dönüştürücü

Yapılandırma dosyalarını sözdizimi denetimiyle YAML ve JSON arasında çift yönlü olarak dönüştürün.

Yerel çalışır — dosyalarınız cihazınızdan dışarı çıkmaz

Araç yükleniyor…

YAML JSON Dönüştürücü nasıl kullanılır

  1. 1Yönü seçin — YAML → JSON veya JSON → YAML.
  2. 2YAML veya JSON kodunuzu sol kutuya yapıştırın veya Örnek'e tıklayın.
  3. 3Siz yazarken dönüştürülen sonuç sağda belirir. Sözdizimi hataları, açıklamalarıyla birlikte aşağıda gösterilir.
  4. 4Sonucu kopyalayın veya .json ya da .yaml dosyası olarak indirin. Yönü değiştirdiğinizde sonuç giriş kısmına aktarılır.

YAML ve JSON Arasında Dönüştürme

YAML ve JSON, yapılandırma ve yapılandırılmış veriler için en yaygın iki formattır. Kubernetes manifestleri, Docker Compose dosyaları, CI pipeline'ları ve OpenAPI spesifikasyonları genellikle YAML ile yazılırken; API'ler, JavaScript kodu ve birçok araç JSON formatını bekler. Bu dönüştürücü, siz yazarken iki format arasında çift yönlü çeviri yapar ve giriş geçersiz olduğunda hatanın tam olarak nerede olduğunu size söyler.

Özellikler

  • İki yönlü: Tek tıkla geçiş imkanıyla YAML → JSON ve JSON → YAML.
  • Hatalı girinti, kapatılmamış tırnaklar ve geçersiz JSON için anlaşılır hata mesajlarıyla sözdizimi doğrulaması.
  • JSON dizisine dönüştürülen çoklu YAML belgesi (multi-document).
  • Otomatik olarak çözümlenen çapalar, takma adlar ve birleştirme anahtarları.
  • Çıktı için 2 veya 4 boşluklu girinti.
  • Sonucu .json veya .yaml olarak kopyalama veya indirme.
  • Gizli: Sunucuya hiçbir veri gönderilmez.

Örnek

Bu YAML kodu:

name: web-app
replicas: 3
ports:
  - 80
  - 443
env:
  NODE_ENV: production

bu JSON koduna dönüştürülür:

{
  "name": "web-app",
  "replicas": 3,
  "ports": [80, 443],
  "env": {
    "NODE_ENV": "production"
  }
}

Yaygın YAML hataları

  • Girinti için tab kullanımı. YAML sadece boşluklara izin verir. Tabları iki boşlukla değiştirin.
  • Tutarsız girintileme. Birbiriyle ilişkili öğeler tam olarak aynı miktarda girintilenmelidir.
  • İki noktadan sonra boşluk eksikliği. key:value tek bir string olarak okunur; key: value şeklinde yazın.
  • Stringlerde özel karakterler. @, *, &, !, %, { veya [ ile başlayan ya da : içeren değerler tırnak içine alınmalıdır.
  • Beklenmeyen veri tipleri. 1.10 gibi sürüm numaraları 1.1 sayısına dönüşür ve baştaki sıfırlar kaybolabilir. Metin olarak kalması gereken değerleri tırnak içine alın.

İlgili araçlar

Elde edilen JSON'ı JSON Biçimlendirici ile düzenleyin veya küçültün, JSON - CSV Dönüştürücü ile JSON'ı bir e-tabloya dönüştürün veya Metin Karşılaştırma aracıyla iki yapılandırma dosyasını karşılaştırın.

Sıkça sorulan sorular

YAML ve JSON arasındaki fark nedir?
Her ikisi de aynı tür verileri (nesneler, listeler, string'ler, sayılar, boolean'lar ve null) tanımlar. JSON süslü parantez, köşeli parantez ve tırnak işaretleri kullanır ve API'ler için standarttır. YAML ise parantez yerine girinti kullanır, yorum satırlarına izin verir ve Docker Compose, Kubernetes, GitHub Actions ve Ansible gibi yapılandırma dosyaları için popülerdir.
YAML'daki yorum satırlarına ne olur?
JSON'da yorum satırı bulunmaz, bu nedenle YAML'ı JSON'a dönüştürürken yorumlar silinir. Geri dönüştürüldüğünde, YAML orijinal yorumları içermez.
Birden fazla YAML belgesi nasıl işlenir?
Bir YAML dosyası --- ile ayrılmış birden fazla belge içerebilir. Bu durumda, dönüştürücü her belge için bir eleman içeren bir JSON dizisi çıktısı verir.
Anchor ve alias'lar destekleniyor mu?
Evet. Anchor'lar (&name), alias'lar (*name) ve merge key'ler (<<: *name) çözümlenir, böylece JSON tam olarak genişletilmiş değerleri içerir.
Değerimin türü neden değişiyor, örneğin "no" neden false oluyor?
Bu araç, yalnızca true ve false değerlerinin boolean kabul edildiği YAML 1.2 standardını kullanır. Eski YAML 1.1 ayrıştırıcıları yes, no, on ve off değerlerini de boolean olarak işler. Bir değerin string olarak kalmasını istiyorsanız, tırnak içine alın.
Verilerim sunucuya yükleniyor mu?
Hayır. Ayrıştırma ve dönüştürme işlemleri doğrudan tarayıcınızda gerçekleşir; bu nedenle gizli anahtarlar (secret) veya dahili sunucu adları içeren yapılandırma dosyaları cihazınızdan asla ayrılmaz.