UltKit

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

YAML yapılandırma dosyalarını, OpenAPI tanımlarını ve CI dosyalarını her ayrıştırıcının, API'nin ve şema doğrulayıcının okuyabildiği JSON'a çevirin. .yaml veya .yml dosyalarınızı yükleyin, girintili JSON'u indirin.

Veri Dönüştürücü

veya CSV, TSV, TXT … dosyaları buraya bırakın ·

Dosya başına en fazla 95 MB· En fazla 20 dosya· 30 dakika sonra silinir

Çıktı

Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.

Bu aracı nasıl kullanırsınız

  1. 1

    YAML dosyalarını yükleyin

    Tek seferde en fazla 20 ve her biri en çok 95 MB olan .yaml veya .yml dosyaları ekleyin. Özgün adları koruyun; JSON dosyaları aynı adı yeni bir uzantıyla alır.

  2. 2

    Girintili veya sıkışık çıktıyı seçin

    Okunaklı biçimlendir açıktır; JSON'u okuma ve kod incelemesi için girintiler. İstek gövdesine yapıştırılacak tek satırlık bir dosya için Gelişmiş ayarlar altından kapatın.

  3. 3

    Dönüştürün ve kullanın

    JSON biçimine Dönüştür düğmesine basın, dosyayı indirin ve ihtiyaç duyan API'ye, doğrulayıcıya ya da betiğe verin.

Geliştiriciler YAML'ı neden JSON'a dönüştürür?

YAML insanlar için yazılmıştır: süslü parantez yerine girinti, yorumlar ve çoğu metinde tırnak yok. Bu yüzden ekiplerin elle düzenlediği Kubernetes manifestlerinin, GitHub Actions iş akışlarının, Docker Compose dosyalarının ve OpenAPI şartnamelerinin biçimidir. JSON ise programlar için yazılmıştır. Her dilin standart kütüphanesinde bir JSON ayrıştırıcısı bulunur, tarayıcılar onu doğrudan çözer ve çoğu HTTP API başka bir şey kabul etmez.

Dönüştürme bu yüzden iki sistemin sınırında yapılır. Bir platform mühendisi manifesti yalnızca JSON okuyan jq'ya aktarır. Bir arka uç geliştiricisi OpenAPI şartnamesini JSON isteyen bir kod üreticisine gönderir. Bir test uzmanı YAML ile yazılmış test verisini JavaScript test paketine yükler. Her durumda kaynak YAML kalır, JSON ise derleme çıktısıdır. Yapılandırma yerine bir klasör dolusu besleme veya dışa aktarma dosyanız varsa, eski işaretleme biçimini aynı şekilde XML'den JSON'a aracı işler.

YAML ve JSON birlikte nasıl gelişti?

YAML'i Clark Evans ilk kez önerdi
2001
YAML 1.2, JSON'u YAML'in alt kümesi yaptı
2009
RFC 8259, güncel JSON standardı
2017
YAML 1.2.2 revizyonu yayımlandı
2021

YAML'a özgü özellikler JSON'da ne olur?

Bir çapa (&defaults) ve takma adları (*defaults) YAML'de bir bloğun yeniden kullanılmasını sağlar. JSON'da referans olmadığı için her takma ad, çapalanan bloğun tam kopyasıyla değiştirilir.

  • JSON, YAML'den belirgin biçimde uzun olabilir
  • Birleştirme anahtarları (<<: *defaults) aynı şekilde açılır
Küçük bir YAML yapılandırması, okunaklı biçimlendirilmiş JSON olarak
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

YAML ve JSON formatları hakkında bilgiler

YAML

YAML

YAML ("YAML Ain't Markup Language"), ilk kez 2001'de yayımlanan, insan dostu bir veri biçimidir. Parantez yerine girinti kullanır, yorumları destekler ve JSON'un üst kümesidir. Docker Compose, Kubernetes, GitHub Actions ve birçok uygulamada yapılandırma için yaygın kullanılır. Boşluklara dayanması, yanlış yerleştirilmiş tek bir boşlukla bozulmasını kolaylaştırır; "no" veya tarihler gibi bazı değerler de beklenmedik biçimde yorumlanabilir.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML dönüştürücü

JSON

JavaScript Nesne Gösterimi (JSON)

JSON, yapılandırılmış veriler için hafif bir metin biçimidir; 2000'lerin başında Douglas Crockford tarafından yaygınlaştırılmış ve RFC 8259 ile ECMA-404 olarak standartlaştırılmıştır. Nesneleri, dizileri, dizgileri, sayıları, mantıksal değerleri ve null'ı basit, okunabilir bir sözdizimiyle gösterir. Web API'leri, yapılandırma dosyaları ve neredeyse her programlama dilindeki uygulamalar arasında veri alışverişi için varsayılan biçimdir. Yorum, tarih veya şema desteği yoktur; büyük iç içe dosyaları bir görüntüleyici olmadan okumak zordur.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
2001 · Douglas Crockford
JSON dönüştürücü

İnsanlar için yazılmış bir yapılandırma veya şartnamenin bir makineyi beslemesi gerektiğinde YAML'yi JSON'a dönüştürürler: bir API isteği, bir şema doğrulayıcı ya da YAML ayrıştırıcısı olmayan bir araç.

YAML'dan JSON'a dönüştürücü hakkında SSS

Aynı veriyi taşıyorlarsa YAML'ı neden JSON'a dönüştürmeliyim?

Çünkü birçok araç ikisinden yalnızca birini okuyabilir. JSON ayrıştırıcıları her programlama dilinde ve tarayıcıda hazır gelir, YAML için ise ek bir kütüphane gerekir. REST API istek gövdeleri, JSON Schema doğrulayıcıları, jq ve package.json ya da tarayıcı eklentisinin manifest.json dosyası gibi dosyaların hepsi JSON bekler.

YAML dosyamdaki yorumlara ne olur?

Silinir. RFC 8259'da JSON için yorum sözdizimi yoktur; bu yüzden # ile başlayan satırların gidecek yeri kalmaz. YAML dosyasını belgelenmiş kaynak olarak saklayın, JSON'u istediğiniz zaman yeniden üretebileceğiniz oluşturulmuş bir kopya sayın.

NO veya off neden false oldu?

YAML 1.1'i izleyen ayrıştırıcılar yes, no, on ve off değerlerini mantıksal değer olarak okur; bu yüzden Norveç için NO gibi bir ülke kodu false olabilir. YAML 1.2 mantıksal değerleri true ve false ile sınırlar, ancak her araç buna uymaz. Bu tür değerleri YAML'de "NO" gibi tırnak içine alın, JSON'da metin olarak kalırlar.

YAML ile yazılmış bir CloudFormation şablonunu dönüştürebilir miyim?

AWS CloudFormation iki biçimi de kabul eder, ancak !Ref ve !GetAtt gibi kısa etiketler yalnızca YAML'de bulunur. JSON şablonları bunları {"Ref": "MyBucket"} veya {"Fn::GetAtt": [...]} gibi tam işlevler olarak yazar. JSON şablonun geçerli kalması için dönüştürmeden önce kısa etiketleri uzun biçimde yeniden yazın.

Ters yönde nasıl dönüştürürüm?

JSON'dan YAML'ye aracını kullanın. Bir API yanıtının ya da oluşturulmuş bir dosyanın depodaki okunaklı bir yapılandırma dosyasına dönüşmesi gerektiğinde olağan yön budur.