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

Ücretsiz çevrimiçi JSON→YAML dönüştürücü. JSON'u tek tıklamayla YAML 1.2'ye dönüştürün, girintiyi özelleştirin, JSON sözdizimi hatalarını otomatik onarın, Kubernetes, Docker Compose, GitHub Actions için YAML yapılandırma dosyaları oluşturun. Tüm işlemler tarayıcıda yereldir.

İlgili Öneriler

YAML Nedir? Neden JSON'u YAML'a Dönüştürmeliyiz?

YAML (YAML Ain't Markup Language — «YAML bir işaretleme dili değildir») insan dostu bir veri serileştirme formatıdır, yapılandırma dosyalarının okunması ve yazılması kolay olacak şekilde tasarlanmıştır. YAML 1.2 mevcut kararlı sürümdür, Clark Evans tarafından 2001'de önerilmiştir. Bugün YAML, Kubernetes, Docker Compose, GitHub Actions, Ansible, CircleCI, Prometheus gibi neredeyse tüm büyük DevOps araçlarının yapılandırmalarında yaygın olarak kullanılmaktadır.

JSON ve YAML üst küme ilişkisindedir (JSON, YAML'ın alt kümesidir). Dönüşümün büyük pratik önemi vardır: ① artan okunabilirlik — YAML süslü parantez ve virgül yerine girinti kullanır; ② yorum desteği — YAML # yorumları destekler; ③ çoklu belge desteği — YAML --- ayırıcısını destekler; ④ otomatik tür tanıma.

YAML'ın üç temel veri yapısı vardır: ① skaler — tek değer; ② dizi — JSON dizisine eşdeğer, - ile gösterilir; ③ eşleme — JSON nesnesine eşdeğer, key: value ile gösterilir. Ayrıca çapa ve referans (&çapa/*referans), blok stili (|) ve katlanmış stil (>) gibi gelişmiş yapılar da desteklenir.

Dönüşüm süreci veri yapısının yeniden eşlenmesidir: JSON.parse() metni AST'ye ayrıştırır, js-yaml'ın dump() fonksiyonu düğümleri özyinelemeli olarak dolaşır. Tüm süreç tamamen yereldir, sonuç standart YAML ayrıştırıcılarla %100 uyumludur.

Kullanım senaryoları

  • Kubernetes manifestoları oluşturma: Helm şablonları ve CI/CD'den JSON'u standart Deployment/Service YAML'a dönüştürme
  • Docker Compose yapılandırması: konteyner platformlarından JSON'u okunabilir docker-compose.yml'e dönüştürme
  • GitHub Actions / GitLab CI: otomasyon betiklerinden JSON'u YAML pipeline'a dönüştürme
  • Ansible Playbook oluşturma: görev orkestrasyon JSON'unu Ansible formatına dönüştürme
  • Mikro hizmet yapılandırma birleştirme: JSON yapılandırmalarını YAML deposuna taşıma
  • Swagger/OpenAPI'den YAML oluşturma: JSON Schema'yı OpenAPI YAML spesifikasyonuna dönüştürme
  • YAML sözdizimini öğrenme: yapıların nasıl dönüştüğünü görsel olarak gözlemleme
  • Format karşılaştırma: JSON ve YAML arasında hızlı dönüşüm

Nasıl Kullanılır

  1. JSON'u sol düzenleyiciye yapıştırın veya .json/.txt dosyası yükleyin veya örnek yüklemek için 'Örnek'e tıklayın
  2. Araç YAML 1.2'ye göre gerçek zamanlı dönüştürür, sonuç sağda. Girinti açılır menüden değiştirilir
  3. JSON sözdizimi hatasında 'JSON Onar' düğmesi belirir — toplu düzeltme için tıklayın
  4. Unicode veya dize kaçışı için alt araç çubuğundaki düğmeleri kullanın
  5. Sonucu 'Kopyala' ile kopyalayın veya output.yaml olarak indirin

Özellikler

  • YAML 1.2 standart çıktı: resmi YAML 1.2 spesifikasyonuna uygun, Kubernetes, Docker Compose, GitHub Actions, Ansible'da doğrudan kullanım
  • Girinti özelleştirme: 2/4 boşluk geçişi, proje kodlama stiline uyum (YAML resmi 2 boşluk önerir)
  • JSON otomatik onarım: yerleşik tryFixJSON motoru sondaki virgülleri, tek tırnakları ve yorumları dönüştürmeden önce otomatik algılar ve onarır
  • Unicode çift yönlü dönüştürme: \uXXXX kaçış/ters kaçış tek tıklamayla
  • Dize kaçış/ters kaçış: tırnak, ters eğik çizgi ve satır sonlarına kaçış ekleme veya kaldırma
  • JSON biçimlendirme ve sıkıştırma: girintili biçimlendirme veya tek satır sıkıştırma
  • Gerçek zamanlı çift yönlü düzenleme: sola JSON yapıştırın, sağda anında YAML sonucu
  • Dosya yükleme ve indirme: .json/.txt desteği, config.yaml veya output.yaml olarak indirme
  • Klavye kısayolları: Shift+Cmd/Ctrl+F biçimlendir, C sıkıştır, U Unicode, Z ters unicode, / kaçış, . ters kaçış
  • Sürüklenebilir paneller ve geçmiş: ayarlanabilir panel genişliği, son 200 girişin otomatik kaydı
  • JSON biçimlendiriciye geçiş: dönüştürmeden sonra tek tıklamayla JSON biçimlendiriciye geçiş
  • Tamamen yerel işlem: tüm ayrıştırma ve dönüştürme tarayıcı JavaScript'inde çalışır

Sık Sorulan Sorular

JSON'u YAML formatına nasıl dönüştürürüm?

JSON'u sol düzenleyiciye yapıştırın — araç YAML 1.2'ye göre otomatik olarak okunabilir biçime dönüştürür. Anahtar-değer çiftleri key: value olur, iç içe nesneler girinti hiyerarşisiyle, diziler `- öğe` sözdizimiyle. Dönüştürmeden sonra kopyalayın veya .yaml olarak indirin. JSON sözdizimi hatalarında araç otomatik onarım dener.

YAML ve JSON hangi senaryolara uygundur?

YAML — insan tarafından okunabilir yapılandırmalar (Kubernetes, Docker Compose, GitHub Actions, Ansible, CI/CD). JSON — makine ayrıştırma ve veri alışverişi (REST API, mikro hizmetler). Yapılandırma için YAML, veri iletimi için JSON. Araç ters YAML→JSON dönüşümünü de destekler.

Hangi girinti daha iyi — 2 mi 4 mü boşluk?

YAML resmi olarak 2 boşluk önerir (Python stili). Bu, Kubernetes, Docker Compose, GitHub Actions için varsayılan standarttır. Bazı projeler 4 boşluk kullanır. Araç yeniden dönüştürme olmadan serbestçe geçiş yapmanızı sağlar.

Oluşturulan YAML doğrudan Kubernetes'te kullanılabilir mi?

Evet. Araç YAML 1.2 spesifikasyonuna sıkı sıkıya uyar, çıktı Kubernetes sözdizimi gereksinimlerini karşılar (kubectl apply). deployment.yaml veya service.yaml olarak kaydedin ve kubectl apply -f ile uygulayın.

Çoklu belge YAML (--- ile ayrılmış) oluşturma destekleniyor mu?

Mevcut sürüm tek belge dönüşümüne odaklanmıştır. JSON bağımsız nesnelerden oluşan bir dizi ise çıktı liste formatında olur. Çoklu belge YAML için dönüştürmeden sonra --- ayırıcılarını manuel ekleyin.

JSON'daki Çince/özel karakterler bozulur mu?

Hayır. Araç UTF-8'i tam olarak destekler, tüm Unicode karakterleri dahil. \uXXXX formatına dönüştürmek için 'Unicode' düğmesini kullanın.

JSON dizelerindeki tırnak işaretleri ve satır sonları nasıl işlenir?

YAML birden fazla dize stili destekler: tırnaksız, çift tırnaklı, tek tırnaklı, blok stili | ve katlanmış stili >. Araç varsayılan olarak çift tırnaklı çıktı verir.

Dönüştürmeden sonra tüm değerler dize mi olur?

Varsayılan olarak araç orijinal JSON türlerini korur. Tümünü dize olarak zorlamak için kaynak JSON'da değerleri tırnak içine alın.

Yerel tarayıcı dönüşümünde yapılandırma dosyaları sunucuya yüklenir mi?

Hayır. Tüm JSON ayrıştırma, YAML oluşturma, dize kaçışı ve Unicode dönüşümü tarayıcının JavaScript motorunda yerel olarak yapılır. Veriler ağ üzerinden gönderilmez. Çevrimdışı çalışır.

Sorun Giderme

JSON'da «Unexpected token» hatası — ne yapmalı?

JSON sözdizimi hatası. Yaygın nedenler: sondaki virgül, tek tırnak, tırnaksız anahtarlar, yorumlar. 'JSON Onar' düğmesine tıklayın.

kubectl apply «yaml: invalid character» hatası veriyor?

Genellikle girinti hatası. Tüm girintilerin boşluk olduğundan ve aynı seviyede eşit sayıda olduğundan emin olun.

Satır sonları YAML'da \n oldu?

Varsayılan olarak JSON'daki \n, YAML'da \n olarak kaçışlandırılır. Gerçek satır sonlarını korumak için blok stiline (|) manuel geçin.

null ~ sembolüne dönüştü — normal mi?

YAML boş değerler için ~ veya null kullanır, ikisi de eşdeğerdir.

Sözlük

YAML
YAML Ain't Markup Language (özyinelemeli kısaltma), insan dostu veri serileştirme formatı. DevOps araçları için fiili standart yapılandırma dili.
Girinti (Indentation)
YAML hiyerarşiyi girintilerle ifade eder (yalnızca boşluk, sekme kullanılmaz). Girinti hataları YAML'ın en yaygın sorunudur.
Dizi (Sequence)
YAML'da dizi gösterimi, her öğe - öğe ile gösterilir, JSON dizisine eşdeğer.
Eşleme (Mapping)
YAML'da nesne gösterimi, anahtar-değer çiftleri key: value ile gösterilir, JSON nesnesine eşdeğer.
Blok Stili (Block Scalar |)
YAML'da çok satırlı gösterim, | tanımlayıcısı, tüm satır sonlarını ve girintileri korur.
Katlanmış Stil (Folded Scalar >)
YAML'da çok satırlı gösterim, > tanımlayıcısı, tek satır sonları boşluğa dönüşür.
YAML 1.2
YAML spesifikasyonunun mevcut kararlı sürümü. Araç 1.2.2 sürümüyle uyumludur.
Çoklu Belge YAML
YAML, --- ile ayrılmış tek dosyada birden fazla belgeyi destekler.
Norveç Problemi (YAML 1.1)
YAML 1.1 spesifikasyonu NO/On/Off'u false olarak yorumluyordu. YAML 1.2'de düzeltildi.

JSON Tipleri ve YAML Gösterimi Eşleme Tablosu

Araç JSON tiplerini aşağıdaki kurallara göre YAML'a dönüştürür:

JSON TipiYAML GösterimiNot
stringname: "Alice"Varsayılan tırnaksız, özel karakterler çift tırnak gerektirir
integerport: 8080YAML sayısal tipi otomatik tanır
booleanenabled: trueYalnızca küçük harf true/false
nullvalue: null veya ~YAML boş değeri null veya tilde ile gösterir
array- item1\n- item2Her satır - ile başlar

YAML Dize Stilleri Karşılaştırma Tablosu

YAML 6 dize yazma yöntemini destekler:

StilSözdizimi ÖrneğiKullanım Senaryosu
Tırnaksızname: AliceBasit dizeler
Çift Tırnaklıname: "Alice"Özel karakterler, \n desteği
Blok Stilibio: |\n line1\n line2Tüm satır sonlarını korur

Privacy & Security

Tüm JSON ayrıştırma, YAML oluşturma, dize kaçışı, Unicode dönüştürme, JSON otomatik onarımı ve dosya okuma tarayıcının JavaScript motorunda yerel olarak gerçekleşir. JSON içeriği ve oluşturulan YAML yapılandırmaları ağ üzerinden sunucuya gönderilmez. Gizli veriler güvenle dönüştürülebilir. Yerel geçmiş yalnızca tarayıcının localStorage'ında saklanır.

Authoritative References