Ana içeriğe geç

Ücretsiz YAML'dan JSON'a Dönüştürücü

YAML'ı JSON'a ve JSON'ı YAML'a her iki yönde dönüştürün. Herhangi bir formatta yapıştırın ve dönüştürülmüş çıktıyı anında alın — sunucu yüklemesi gerekmez.

Yüklendikten sonra çevrimdışı çalışır
JSON çıktısı
Çıktı burada görünecek…

Yaygın kullanımlar

  • Kubernetes Manifestleri için YAML'ı JSON'a DönüştürünKubernetes YAML'ını JSON'a dönüştürün (veya tersine): araçlandırma, doğrulama komut dosyaları veya doğrudan API aracılığıyla uygulamak için.
  • Docker Compose YAML / JSON Dönüştürmedocker-compose.yml'i inceleme için JSON'a dönüştürün, veya programlı düzenlemelerden sonra YAML'a geri dönüştürün.
  • CI/CD Pipeline Yapılandırması DönüştürmeGitHub Actions, GitLab CI, CircleCI ve diğer işlem hattı yapılandırmalarını YAML ve JSON biçimleri arasında dönüştürün.
  • Uygulama Yapılandırma Dosyası DönüştürmeUygulama yapılandırma dosyalarını YAML ile JSON arasında dönüştürün: çerçeveler değiştirilirken veya araçlarda yapılandırma paylaşılırken kullanışlıdır.
  • OpenAPI / Swagger Spec DönüştürmeOpenAPI 3.x veya Swagger 2.0 API belirtimlerini YAML ve JSON biçimleri arasında dönüştürün. Her iki biçim de geçerli ve birbirinin yerine kullanılabilir.

Nasıl çalışır

Dönüştürmenin iki yönü de — YAML'dan JSON'a ve JSON'dan YAML'a — sayfaya yerleşik elle yazılmış bir ayrıştırıcı ve üreticiyle tamamen tarayıcınızda çalışır; üçüncü taraf YAML kütüphanesi ve sunucu yoktur. Mantık, eşlemeleri, dizileri, skalerleri, tırnaklı dizeleri ve satır içi yorum kaldırmayı işleyen tek bir TypeScript modülünde (lib/yamljson.ts) bulunur.

  1. 1
    Girdi satır satır ön işlenir
    YAML girdisi için ayrıştırıcı metni satırlara böler, satır içi yorumları kaldırır (dizelerin içindeki # işaretini kaldırmamak için tırnak durumunu izleyerek), girinti derinliğini ölçer ve boş satırları atar — herhangi bir ayrıştırma başlamadan önce yapılandırılmış bir öğe listesi oluşturur.
  2. 2
    Özyinelemeli iniş ayrıştırıcısı veri ağacını oluşturur
    Ayrıştırıcı yapıyı belirlemek için girinti düzeyini kullanarak öğe listesini dolaşır. Dizi öğelerini (- value), eşleme anahtarlarını (key: value) ve iç içe blokları tanır. Skalerler null, boolean, tam sayı (sessiz veri bozulmasını önlemek için 007 gibi başı sıfırlı değerleri reddederek) ve kayan noktalı sayıları işleyen türlü bir dönüştürme adımından geçer — yes, no, on ve off gibi YAML 1.1 yalın kelimelerini boolean'a dönüştürmek yerine dize olarak tutan isteğe bağlı bir mod da vardır.
  3. 3
    Desteklenmeyen YAML özellikleri sessizce atılmaz, işaretlenir
    Çıktı üretmeden önce araç çapaları (&name), takma adları (*name), birleştirme anahtarlarını (<<:), blok skalerlerini (| ve >), çok belgeli işaretçileri (---) ve yinelenen eşleme anahtarlarını tarar. Bunlardan herhangi biri, ince biçimde yanlış JSON üretmek yerine görünür bir uyarı tetikler.
  4. 4
    JSON serileştirilir veya YAML üretilir, ardından kullanıma sunulur
    YAML→JSON için ayrıştırılan değer seçtiğiniz girintiyle (2 boşluk, 4 boşluk, sekme veya küçültülmüş) JSON.stringify'a verilir. JSON→YAML için özel bir üretici ayrıştırılmış JavaScript değerini dolaşır ve girintili YAML üretir; dize skalerlerini yalnızca gerektiğinde tırnak içine alır (ör. :, # içeren veya ayrılmış kelimelere benzeyen değerler). Çıktı siz yazarken anında görünür ve kopyalanabilir ya da indirilebilir.

İlgili araçlar

Sık sorulan sorular