YAML JSON çevirici
YAML dosyalarını geçerli JSON'a çevir.
Tarayıcında çalışır. Yazdığın hiçbir şey bir yere gönderilmez.
- Çok belgeli dosyalar
- Tam hata konumu
- Hiçbir şey yüklenmez
YAML JSON'a nasıl çevrilir
- YAML'ını yapıştır veya bir .yaml ya da .yml dosyası yükle.
- Gösterilen satır ve sütundaki hatayı düzelt.
- JSON'ı kopyala veya indir.
Örnek: YAML girer, JSON çıkar
| YAML satırı | JSON |
|---|---|
| name: Sam | "name": "Sam" |
| age: 30 | "age": 30 |
| active: true | "active": true |
| tags: [a, b] | "tags": ["a", "b"] |
Bunun koruduğu YAML özellikleri
- Bağlantılar (&isim) ve takma adlar (*isim), referans verilen değerin tam kopyalarına genişletilir.
- Satır içi {a: 1} veya [1, 2] gibi akış stili, eşdeğer blok stiliyle aynı şekilde ayrıştırılır.
- Üç tireden oluşan bir satırla ayrılmış birkaç belge, sırayla tek bir JSON dizisi olur.
- # ile başlayan yorumlar, JSON'ın onları taşıyacak bir yorum sözdizimi olmadığı için düşürülür.
Yaygın YAML hataları
| Belirti | Olası neden |
|---|---|
| Bozuk girinti hatası | Bir sekme karakteri, veya üstündeki satırdan bir boşluk kayık girintilenmiş bir satır |
| Akışın beklenmeyen sonu | Daha önceki bir yerde açık bırakılmış bir tırnak veya parantez |
| Bir değer beklenmedik şekilde true veya false oluyor | Tırnaksız yazılmış çıplak yes, no, on veya off |
YAML'dan JSON'a nerede yardımcı olur
- Bir Kubernetes manifestinin tam değerlerini betiğinin zaten anladığı bir formatta okumak.
- Bir CI pipeline dosyasının ayrıştırılmış yapısını ham girinti yerine görerek hata ayıklamak.
- Sadece JSON kabul eden bir araca veya API'ye bir YAML yapılandırması beslemek.
YAML JSON SSS
Tek bir dosyada birkaç YAML belgesi olursa ne olur?
Üç tireden oluşan bir satırla ayrılmış belgelerin her biri çevrilir ve sırayla tek bir JSON dizisi olarak birlikte döndürülür.
Neden bir bozuk girinti hatası alıyorum?
YAML yapıyı girintiden okur, bu yüzden bir karakter fazla girintilenmiş bir satır veya boşluk yerine bir sekme onu bozar. Hata satırı ve sütunu adlandırır, Hataya git onu seçer.
Bağlantılar (anchor) ve takma adlar (alias) destekleniyor mu?
Evet. Bir ve işaretiyle işaretlenmiş ve bir yıldız takma adıyla yeniden kullanılan bir değer, kullanıldığı her yere kopyalanır.
Tarihlere ne oluyor?
2024-05-01 gibi tarihler metin olarak kalır, çünkü JSON'da tarih türü yok.
Girinti için sekme kullanan bir YAML yapıştırabilir miyim?
Hayır. YAML girinti için boşluk ister, bu yüzden bir sekme tam o satırda bir bozuk girinti hatası üretir. Onu 2 boşlukla değiştir ve tekrar dene.
Bir YAML eşlemesindeki yinelenen bir anahtara ne oluyor?
Temeldeki ayrıştırıcı eşlemeyi JSON'a çevirmeden önce bu şekilde çözdüğü için, tekrarlanan bir anahtar için son yazılan değer kazanır.
Başka bir dosyayı içeren bir YAML dosyasını çevirebilir mi?
Hayır. Bazı YAML işlemcilerinin kullandığı !include gibi özel etiketler, bu tarayıcı aracının sahip olmadığı dosya sistemi erişimine bağlıdır. Özel etiketi olmayan düz YAML normal şekilde çevrilir.
!!str veya !!int gibi açık tür etiketlerini işliyor mu?
Evet, yaygın açık etiketler okunur ve değerin şeklinden tahmin edilmek yerine eşleşen JSON türüne çevrilir.