JSON, YAML'a nasıl dönüştürülür?
- JSON yapıştırın veya bir dosya açın; siz yazdıkça YAML görünür. 2 veya 4 boşluk girinti seçin.
- Ters yönde dönüştürmek için yönü YAML → JSON olarak değiştirin ve YAML yapıştırın.
- Sonucu kopyalayın veya
.yamlya da.jsondosyası olarak indirin.
JSON vs YAML: farklar
| JSON | YAML | |
|---|---|---|
| Yapı | süslü {} ve köşeli [] parantezler | girinti ve - ile başlayan liste öğeleri |
| String'ler | her zaman çift tırnak içinde | tırnak yalnızca gerektiğinde |
| Yorumlar | izin verilmez | # comment |
| Çok satırlı metin | \n kaçış dizileri | | ile literal bloklar |
| Tipik kullanım | API'ler ve veri alışverişi | yapılandırma dosyaları |
YAML 1.2, JSON'un bir üst kümesidir; yani bir JSON belgesi zaten geçerli bir YAML belgesidir. Dönüştürücü ise bunun yerine daha okunabilir olan blok stilini yazar.
YAML'da tırnak içine alınması gereken değerler
Tırnaksız bazı kelimeler YAML'da türünü değiştirir: yes, no, on ve off YAML 1.1 ayrıştırıcılarında boolean'dır, 007 ve 1e3 sayıdır, null veya ~ ise null anlamına gelir. Ünlü “Norveç sorunu” (Norway problem) da buradan gelir: Norveç'in ülke kodu NO, tırnak içine alınmadığında false değerine dönüşür. Dönüştürücü bu tür string'leri otomatik olarak tırnak içine alır; böylece YAML okunduğunda birebir aynı veriyi verir.
YAML → JSON için desteklenen YAML
Ayrıştırıcı, yapılandırma dosyalarında ve API'lerde kullanılan YAML'ı anlar: blok eşlemeler (mapping) ve listeler, düz, tek tırnaklı ve çift tırnaklı string'ler, | ve > çok satırlı bloklar, satır içi [ ] ve { } koleksiyonlar, yorumlar ve --- belge işareti. Anchor'lar (&), alias'lar (*) ve özel etiketler satır numarasıyla birlikte desteklenmiyor olarak bildirilir. Çok belgeli bir dosyada yalnızca ilk belge dönüştürülür.
Sıkça sorulan sorular
YAML, JSON'un bir üst kümesi mi?
YAML 1.2, JSON'un bir üst kümesi olarak tasarlandı; bu yüzden neredeyse her JSON dosyası aynı zamanda geçerli bir YAML dosyasıdır. Tersi doğru değildir: YAML'da JSON'da olmayan yorumlar, anchor'lar ve çok satırlı bloklar bulunur.
YAML'dan JSON'a dönüştürürken yorumlar korunur mu?
Hayır. JSON'da yorum bulunmadığı için yorumlar atılır. Anahtarlar, değerler ve sıraları korunur.
YAML dosyam neden kabul edilmiyor?
Yaygın nedenler şunlardır: girinti için sekme kullanılması (YAML yalnızca boşluğa izin verir), aynı listenin veya eşlemenin öğelerinin aynı sütunda başlamaması ve iki noktadan sonra boşluk eksikliği. Hata mesajı ilgili satırı gösterir.
YAML değerleri JSON'da hangi türe dönüşür?
YAML 1.2 core şemasına göre: true/false boolean değere, null ve ~ null değerine, düz sayılar JSON sayılarına dönüşür; yes gibi kelimeler ise string olarak kalır. "007" gibi kodları metin olarak korumak için YAML'da tırnak içine alın.