YAML ↔ JSON Dönüştürücü
YAML ve JSON arasında her iki yöne dönüştür. Kubernetes manifest'leri, CI config'leri ve OpenAPI spec'leri için kullanışlı.
Sonucu görmek için yukarıya giriş yapın.
Bu ne işe yarar?
YAML ve JSON aynı şeyleri tanımlar — iç içe map'ler, listeler, primitive'ler — ama okunabilirlik vs katılık değiş tokuş yaparlar. YAML insanlar için daha dostçadır (Kubernetes manifest'leri, GitHub Actions, OpenAPI, çoğu CI config'i); JSON API'lerin ve makine tarafından okunabilir biçimlerin gönderdiği şeydir. Bu dönüştürücü her ikisinin de ifade edebileceği yapılar için kayıpsız olarak aralarında çevirir. YAML js-yaml kullanır (YAML 1.2); JSON yerel API'yi kullanır. Her iki yön de tarayıcında çalışır.
Ne zaman kullanılır
- JSON gerektiren bir araca bir OpenAPI / k8s / docker-compose YAML yapıştırma.
- Bir API yanıtını (JSON) bir config dosyası için YAML'a dönüştürme.
- Belirsiz indent ebeveynliği belirsiz yaptığında bir YAML dosyasının gerçek yapısını denetleme.
Sık yapılan hatalar
- "Norveç problemi". YAML 1.1
NO,YES,ON,OFF'u boolean'a zorladı. YAML 1.2 zorlamaz, ama aşağı akış parser'lar yapabilir. Güvende olmak için belirsiz string'leri tırnakla. - Çoklu belge YAML (
---ayraçları) — yalnızca ilk belge dönüştürülür. - Özel tag'ler (
!!python/object,!Ref, vb.) katı YAML 1.2'yi ihlal eder. CloudFormation YAML ve PyYAML pickle dump'ları başarısız olacaktır; önce tag'leri temizle. - Anchor'lar ve alias'lar YAML→JSON'da genişletilir. JSON'da referans yoktur, bu yüzden
*refnode'ları inline olur. Round-trip değer-eşdeğer ama metinsel olarak daha büyük bir YAML verir. - Sayılar - string'ler. Tırnaksız YAML
3.14bir float'tır;"3.14"bir string'tir.