JSON'ten YAML'a

JSON’u yapıştırın ve temiz bir YAML elde edin: doğru iki boşluklu girinti, dizeler yalnızca gerektiğinde tırnak içine alınır, çok satırlı değerler blok skalerler olarak gösterilir ve isteğe bağlı alfabetik anahtar sıralaması sunulur. API yanıtlarını Kubernetes manifestlerine, GitHub Actions yapılandırmalarına veya YAML’ı yerel biçim olarak kullanan diğer araçlara dönüştürmek için oldukça faydalıdır.

JSON'u YAML'ya nasıl dönüştürürüz

  1. 1

    JSON'u yapıştırın

    Geçerli herhangi bir JSON verisi. Dönüştürücü, semantik yapıyı tam olarak korur.

  2. 2

    Girinti ve stil seçin

    2 veya 4 boşluk; kompakt diziler veya nesneler için akış tarzı, uzun biçimler için blok tarzı.

  3. 3

    İsteğe bağlı: sıralama anahtarları

    Alfabe sıralaması, YAML dosyasının iki sürüm arasında karşılaştırılmasını kolaylaştırır.

  4. 4

    YAML'ı kopyalayın

    Bunu `.yaml`/`.yml` dosyanıza yapıştırın. Elde edilen çıktı geçerli bir YAML 1.2 formatındadır.

Örnek

Giriş:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Çıkış:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Tür Eşlemesi

JSON YAML
dize gerektiğinde tırnaksız, tırnaklı veya blok skaler
tam sayı 42
sayı 3.14
boolean true / false
null null (veya ~, veya boş)
dizi - ile blok dizisi veya [...] akışı
nesne key: value ile blok eşleme veya {...} akışı

Dizeler ne zaman tırnak içine alınmalı

YAML, bazı dizeleri otomatik olarak dize dışı türler olarak yorumlar. Şu şekilde görünen değerler tırnak işareti gerektirir:

Değer Neden alıntılar gereklidir
yes, no, on, off Boole değerleri olarak yorumlanır (YAML 1.1 uyumluluğu)
null, Null, NULL null olarak yorumlanır
1.23 Sayı olarak yorumlanır
2026-04-18 Tarih olarak yorumlanır
Baştaki/sondaki boşluk Kaldırılır
*, &, ! ile başlar YAML direktifleri

Dönüştürücü bunları otomatik olarak tırnak içine alır ve okunabilirlik açısından geri kalanları tırnaksız bırakır.

YAML ile JSON arasındaki tasarım farkları

  • Yorumlar: YAML’da vardır (#), JSON’da ise yoktur.
  • Çapalar/takma adlar: YAML çapraz referansı destekler (&anchor / *alias); JSON ise veriyi tekrarlar. Dönüşüm bunları çıkaramaz; isterseniz elle ekleyin.
  • Çok satırlı dizeler: YAML’da blok skalerler bulunur (| yeni satırları korur, > ise bunları katlar). Dönüştürücü, uzun dizeler için bu yapıları kullanır.
  • null temsili: YAML null, ~ veya boş değeri kabul eder. Dönüştürücü varsayılan olarak null üretir.

Yaygın Hatalar

  • YAML 1.1 “Norveç sorunu”. Tırnaksız NO, YAML 1.1’de Boole değeri false anlamına gelir. Modern ayrıştırıcıların çoğu YAML 1.2 kullanır; burada yalnızca true/false Boole değeridir, ancak bazı eski araçlar hâlâ sorun çıkarabilir.
  • Değerlerdeki sondaki boşluklar. YAML bunları blok skalerlerde korur, basit skalerlerde siler. Hangi biçimi aldığınızı bilmiyorsanız beklenmedik olabilir.
  • Girintide sekme (tab) kullanımı. YAML girintide sekme kullanımını yasaklar. Her zaman boşluk kullanın.
  • Çok uzun tek satırlı dizeler. Okunabilirlik için blok skalerlere bölün; dönüştürücü, ayarlanabilir bir eşik değerin üzerine çıkıldığında bunu otomatik olarak yapar.

Sık Sorulan Sorular

Diğer YAML türlerine (Boole değerleri, sayılar, tarihler, null) benzeyen dizeler, dize olarak kalabilmek için tırnak içine alınmalıdır. Özel karakter içeren dizeler (baştaki boşluklar veya yazdırılamayan karakterler) de tırnak gerektirir. Dönüştürücü bunu otomatik olarak algılar ve gerekli yerlerde tırnak ekler.

Varsayılan olarak YAML 1.2. YAML 1.1 ile uyumluluk gerekiyorsa (eski araçlar veya bazı CI sistemleri için) “YAML 1.1 uyumluluğu” seçeneğini etkinleştirin; böylece dönüştürücü, 1.1 sürümünde Boole olacak değerler için ek tırnak işareti ekler (yes, no, on, off).

Evet. Akış tarzı ([1, 2, 3] ve { a: 1 }), kompakt diziler ve nesneler için mevcuttur. Çoğu yapılandırma dosyası okunabilirlik açısından blok tarzını tercih eder.

Evet, bir çekinceyle: K8s YAML genellikle JSON’un ifade edemeyeceği yorumlar ve ankrajlara dayanır. Veri yapısını dönüştürün ve ardından yorumları/ankrajları manuel olarak ekleyin.

İlgili Araçlar

Araç diğer dillerde mevcuttur