YAML'den JSON'a

js-yaml kütüphanesiyle YAML içeriğini standart JSON nesnelerine dönüştüren ücretsiz bir çevrimiçi araçtır. YAML mapping ve listeler otomatik olarak JSON nesne ve dizilerine çevrilir; pretty çıktı da açılıp kapatılabilir. Yerleşik tryFixYAML fonksiyonu sekmeler, kapanmamış tırnaklar, bozuk girintiler, anahtar biçimi ve satır sonu boşlukları dahil 5 yaygın sorunu tarayıcı içinde düzeltir.

İlgili Öneriler

YAML'i neden JSON'a dönüştürmek gerekir

YAML, insanların okuması için uygun bir yapılandırma biçimidir ve Kubernetes, Docker Compose, Ansible, GitHub Actions gibi araçlarda sık kullanılır. JSON ise API'lerde, JavaScript'te ve programatik veri işleme akışlarında daha uygundur. Bu araç YAML yapılandırmalarını standart JSON'a çevirmek için tasarlanmıştır.

Dönüşüm sürecinde js-yaml önce YAML yapısını JavaScript nesnesine dönüştürür, ardından çıktı JSON olarak serileştirilir. YAML mapping yapıları JSON nesnelerine, listeler JSON dizilerine dönüşür; string, sayı, boolean ve null değerleri karşılık gelen JSON türlerini korur.

Pretty çıktı, 2 boşluk girintili okunabilir JSON üretir. Kompakt mod ise ağ iletimi, API kullanımı ve depolama için tek satırlık JSON sağlar.

Gerçek YAML dosyalarında sekmeler, kapanmamış tırnaklar, bozuk girintiler ve problemli anahtar adları sık görülür. Yerleşik tryFixYAML bu 5 yaygın sorunu tarayıcı içinde otomatik onarır.

Kullanım senaryoları

  • Kubernetes manifest veya Helm values.yaml dosyalarını jq, doğrulama ya da CI/CD için JSON'a çevirmek
  • docker-compose.yml dosyasını başka araçlara vermek üzere JSON'a dönüştürmek
  • GitHub Actions veya GitLab CI YAML dosyalarını JSON olarak karşılaştırmak ve şablonlamak
  • Ansible playbook ya da izleme yapılandırmalarını programatik olarak JSON biçiminde işlemek
  • OpenAPI / Swagger YAML tanımlarını JSON'a çevirip kod üretim araçlarına aktarmak
  • YAML ve JSON arasındaki sözdizimi ile tür eşleşmelerini öğretmek veya öğrenmek

Nasıl Kullanılır

  1. YAML içeriğini sol panele yapıştırın ya da .yaml / .yml / .txt dosyası yükleyin
  2. 400 ms sonra araç JSON sonucunu sağ panelde otomatik gösterir
  3. Gerekirse pretty çıktı ile kompakt çıktı arasında geçiş yapın
  4. Hata varsa yapı onarma düğmesiyle yaygın YAML problemlerini otomatik düzeltin
  5. Sonucu kopyalayın veya converted.json olarak indirin

Özellikler

  • js-yaml ile YAML mapping, liste, iç içe yapı, çok satırlı string, anchor ve alias desteği sunar
  • Sekme, kapanmamış tırnak, hatalı girinti, özel karakterli anahtar ve satır sonu boşluğu dahil 5 yaygın YAML hatasını otomatik onarır
  • 2 boşluk girintili pretty JSON ve tek satırlık sıkıştırılmış JSON arasında geçiş yapabilirsiniz
  • İç içe YAML yapılarını JSON nesneleri ve dizilerine özyinelemeli olarak dönüştürür
  • YAML yorumlarını yok sayar; çıktı yalnızca JSON verisini içerir
  • Yazma bittikten 400 ms sonra otomatik dönüştürme yaparak hızlı önizleme sağlar
  • Sağ panelde JSON sözdizimi vurgulaması ile karmaşık çıktıları daha okunur hale getirir
  • Dosya yükleme, kopyalama, indirme ve geçmiş geri yükleme işlemlerini tarayıcı içinde sunar
  • Tüm işleme yerelde yapılır, yapılandırma verileri sunucuya gönderilmez

Sık Sorulan Sorular

YAML nasıl JSON'a dönüştürülür?

YAML içeriğini sol panele yapıştırın veya .yaml / .yml / .txt dosyası yükleyin. Araç js-yaml kullanarak veriyi ayrıştırır ve otomatik olarak standart JSON'a çevirir. YAML mapping yapıları JSON nesnesine, listeler ise JSON dizisine dönüşür. Dönüştürme yazma durduktan yaklaşık 400 ms sonra otomatik çalışır.

YAML yorumları JSON içinde korunur mu?

Hayır. # ile başlayan YAML yorumları yalnızca insanlar içindir ve ayrıştırma sırasında yok sayılır. Çıktıdaki JSON yalnızca veriyi içerir. Yorumları korumak istiyorsanız kaynak YAML dosyasını saklayın veya JSON içinde açık bir comment alanı kullanın.

Girintisi bozuk ya da tırnakları kapanmamış YAML dosyaları düzeltilebilir mi?

Evet. Yerleşik tryFixYAML, sekmeler, kapanmamış tırnaklar, düzensiz girintiler, özel anahtar adları ve satır sonu boşlukları dahil 5 yaygın YAML sorununu otomatik düzeltebilir. Ancak yapı ciddi biçimde bozulduysa yine de elle kontrol gerekebilir.

Sorun Giderme

YAML ayrıştırma hatası

En yaygın nedenler sekme ve boşluğun karışması, kırık girintiler, kapanmamış tırnaklar veya eksik iki noktadır. Önce yapı onarma özelliğini deneyin.

Yorumlar JSON'a gelmiyor

JSON yorum desteklemediği için YAML içindeki # satırları dönüştürme sırasında atılır. Gerekliyse yorumları ayrı tutmalısınız.

Anchor ve alias kayboldu

js-yaml referansları JSON'a çevirmeden önce açar. Bu yüzden JSON çıktısında referans sözdizimi değil, açılmış veri görülür.

Tarih neden string oldu

YAML tarihleri algılansa bile JSON çıktısında ISO biçimli string olarak yazılır. JSON'un yerleşik tarih türü yoktur.

Çok belgeli YAML ne olacak

Bu araç tek belge dönüşümüne odaklıdır. --- ile ayrılmış dosyaları bölerek dönüştürmek daha güvenlidir.

Sözlük

YAML
İnsan dostu veri serileştirme biçimi. DevOps yapılandırma dosyalarında yaygın olarak kullanılır.
JSON
JavaScript Object Notation. API'ler ve uygulamalar arasında veri taşımak için kullanılan standart biçimdir.
js-yaml
YAML'i JavaScript nesnelerine dönüştüren popüler JavaScript kütüphanesidir.
Indentation
YAML'de hiyerarşiyi gösteren girinti. Genellikle boşluk kullanılır, sekme kullanılmaz.
Anchor
YAML'deki &name sözdizimi. Yeniden kullanılacak değeri tanımlar.
Alias
YAML'deki *name sözdizimi. Daha önce tanımlanan anchor'ı çağırır.
Pretty Output
Satır sonları ve girintiler içeren, okunması kolay JSON çıktı modu.
tryFixYAML
Yaygın YAML sözdizimi hatalarını dönüştürmeden önce otomatik düzelten yerleşik işlev.

YAML ve JSON tür eşlemesi

Temel YAML yapıları aşağıdaki gibi JSON'a dönüştürülür.

YAML türüYAML örneğiJSON çıktısıKural
stringname: Alice"name": "Alice"Metin değerleri JSON string olur.
numberage: 30"age": 30Sayılar sayı olarak korunur.
booleanenabled: true"enabled": truetrue / false JSON boolean olur.
sequence- a - b["a", "b"]YAML listeleri JSON dizisine dönüşür.
mappinguser: name: Alice{"user": {"name": "Alice"}}YAML mapping yapıları JSON nesnesi olur.

YAML ve JSON karşılaştırması

İki biçim aynı veriyi ifade etse de okunabilirlik ve kullanım amacı bakımından farklıdır.

BoyutYAMLJSONNot
OkunabilirlikyüksekortaYAML insanlar için okuması kolay yapılandırmalara uygundur.
Yorumlar# desteklidestek yokJSON standardında yorum yoktur.
Diziler- item[item]YAML kısa çizgi, JSON köşeli parantez kullanır.
Ana kullanımyapılandırmaAPI / veriYAML daha çok yapılandırma, JSON ise veri taşımak içindir.

Otomatik düzeltilen YAML hataları

tryFixYAML birkaç yaygın problemi otomatik onarır.

Hata türüÖrnekDüzeltilmişAçıklama
Sekmekey: valuekey: valueSekmeler boşluğa çevrilir.
Kapanmamış tırnakkey: 'valuekey: 'value'Eksik tırnak tamamlanır.
Satır sonu boşluğukey: value key: valueGereksiz boşluklar silinir.
Bozuk girinti key: valuekey: valueGirinti tutarlı hale getirilir.

Privacy & Security

Bu YAML'den JSON'a aracı, YAML ayrıştırma, JSON serileştirme ve hata düzeltme işlemlerinin tamamını tarayıcınızdaki JavaScript ile yerelde çalıştırır. Girdiğiniz YAML ve üretilen JSON hiçbir sunucuya gönderilmez. Böylece Kubernetes secret, API anahtarı ve veritabanı erişim bilgileri içeren yapılandırmaları daha güvenli şekilde yerelde dönüştürebilirsiniz.

Authoritative References