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
- YAML içeriğini sol panele yapıştırın ya da .yaml / .yml / .txt dosyası yükleyin
- 400 ms sonra araç JSON sonucunu sağ panelde otomatik gösterir
- Gerekirse pretty çıktı ile kompakt çıktı arasında geçiş yapın
- Hata varsa yapı onarma düğmesiyle yaygın YAML problemlerini otomatik düzeltin
- 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ği | JSON çıktısı | Kural |
|---|---|---|---|
| string | name: Alice | "name": "Alice" | Metin değerleri JSON string olur. |
| number | age: 30 | "age": 30 | Sayılar sayı olarak korunur. |
| boolean | enabled: true | "enabled": true | true / false JSON boolean olur. |
| sequence | - a
- b | ["a", "b"] | YAML listeleri JSON dizisine dönüşür. |
| mapping | user:
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.
| Boyut | YAML | JSON | Not |
|---|---|---|---|
| Okunabilirlik | yüksek | orta | YAML insanlar için okuması kolay yapılandırmalara uygundur. |
| Yorumlar | # destekli | destek yok | JSON standardında yorum yoktur. |
| Diziler | - item | [item] | YAML kısa çizgi, JSON köşeli parantez kullanır. |
| Ana kullanım | yapılandırma | API / veri | YAML 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ü | Örnek | Düzeltilmiş | Açıklama |
|---|---|---|---|
| Sekme | key:
value | key:
value | Sekmeler boşluğa çevrilir. |
| Kapanmamış tırnak | key: 'value | key: 'value' | Eksik tırnak tamamlanır. |
| Satır sonu boşluğu | key: value | key: value | Gereksiz boşluklar silinir. |
| Bozuk girinti | key:
value | key:
value | Girinti 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
- YAML.orgYAML 1.2 spesifikasyonu
- GitHubjs-yaml GitHub deposu
- KubernetesKubernetes yapılandırma dokümantasyonu
- DockerDocker Compose dosya spesifikasyonu
- AnsibleAnsible YAML sözdizimi kılavuzu
- JSON Compress
- CSV'den JSON'a
- JSON'den CSV'ye
- JSON Diff
- JSON Escape / Unescape
- JSON Düzleştirme
- JSON Biçimlendirici
- JSON Oluşturucu
- JSONPath Sorgu
- JSON Birleştir
- JSON Onarımı
- JSON Schema Doğrulayıcı
- JSON Sıralama
- JSON Stringify
- JSON'dan HTML'ye
- JSON'dan Java'ya
- JSON'den Markdown'a
- JSON to SQL
- JSON'dan TOML'e
- JSON'dan TypeScript'e
- XML'den JSON'a
- JSON'u XML'e donustur
- YAML'den JSON'a
- JSON → YAML Dönüştürücü
- JSON'dan Go'ya
- JSON'u Rust'a
- JSON to Swift
- JSON'dan C#'ye
- JSON'dan C++'ya
- JSON'dan PHP'ye
- JSON'u Python'a