Genel bakış / Geliştirici ve kod / YAML ↔ JSON Dönüştürücü
Geliştirici ve kod %100 tarayıcıda ve çevrimdışı

YAML ↔ JSON Dönüştürücü

YAML'ı JSON'a ve JSON'u YAML'a tarayıcınızda dönüştürün. Birden çok belgeyi, bağlayıcıları ve takma adları işler, hataları satır ve sütunla gösterir.

Girdinizi yapıştırın veya yazın; sonuç anında görünür, hatalar girdinin altında gösterilir. Alanlar bir örnekle başlar: birine tıklayıp yazmaya başlayarak örneği değiştirin.

Dosyalarınız ve girdileriniz tarayıcınızdan asla çıkmaz – hiçbir şey yüklenmez.

Seçenekler

YAML 1.2 okur. yes, no, on ve off dize olarak kalır, tarihler dize olarak kalır, sekizlik sayılar 0o ister. Yorumlar kaybolur. --- ile ayrılmış belgeler bir JSON dizisi olur. 2^53'ün ötesindeki tam sayılar duyarlılık kaybeder, .nan ve .inf null olur. En fazla girdi: 2.000.000 karakter.

Solda bir Kubernetes manifesti, sağda yalnızca JSON kabul eden bir JSON şema doğrulayıcısı. Bir YAML'dan JSON'a dönüştürücü bu boşluğu kapatır. YAML'ı yapıştırın, JSON'u okuyun, kopyalayın. Aynı sayfa, bir API yanıtından okunabilir bir yapılandırma dosyasına ihtiyacınız olduğunda JSON'u YAML'a çevirir.

YAML'dan JSON'a dönüştürme dosyanıza ne yapar

Araç YAML 1.2 okur. Bu sürümde yes, no, on ve off mantıksal değer değil, düz dizelerdir. 2001-12-14 gibi bir tarih dize olarak kalır. Sekizlik bir sayı 0o önekini ister; bu yüzden 0o17 15, 017 17'dir.

Bağlayıcılar (&name), takma adlar (*name) ve birleştirme anahtarları (<<: *name) çözülür; bu yüzden JSON kopyalanmış değerleri içerir. Yorumlar JSON'da yoktur ve atılır.

--- ile ayrılmış birkaç belgeli bir dosya, belge başına bir girdisi olan bir JSON dizisi olur. İstatistik satırı kaç tane bulunduğunu söyler, örneğin "3 belge". Tek belgeli bir dosya düz bir nesne ya da liste olarak kalır. Sondaki boş belgeler yok sayılır.

Bir yapılandırmayı dört adımda dönüştürme

  1. "YAML → JSON" veya "JSON → YAML" düğmeleriyle yönü seçin. Kutu, siz kendi metninizi yazana kadar her yön için bir örnek gösterir.
  2. Metninizi yapıştırın. Dönüştürme son tuş vuruşunuzdan 300 milisaniye sonra başlar. İlk çalıştırma YAML kitaplığını yükler, bu yüzden bir an sürebilir.
  3. Seçenekleri ayarlayın: 2 boşluk, 4 boşluk ya da küçültülmüş JSON girintisi ve "Anahtarları alfabetik sırala". YAML çıktısı için girintiyi de seçebilir ve uzun satırları 80 karakterde katlayabilir ya da hiç katlamayabilirsiniz.
  4. "Kopyala"ya veya "İndir"e basın. İndirilen dosyanın adı converted.json veya converted.yaml'dır.

Sayıya, mantıksal değere ya da null'a benzeyen dizeler

JSON'dan YAML'a bir tuzak vardır: "123" dizesi 123 sayısına dönüşmemelidir. Araç onu tırnaklı yazar. Aynısı "null", "true", "~" ve boş bir dize için de geçerlidir. Ayrıca "yes", "no", "on", "off" ve tarih gibi başlayan her şeyi tırnaklar, çünkü YAML 1.1 ayrıştırıcıları onları mantıksal değer ya da zaman damgası olarak okur. Satır sonu içeren dizeler | ile blok skalerlere dönüşür.

Hatalar, uyarılar ve JSON'un taşıyamadığı değerler

Bozuk bir YAML dosyası, kitaplığın iletisi ve satır ile sütunla durur; örneğin girinti olarak kullanılan bir sekme. Aynı eşlemedeki iki eş anahtar sessiz bir üzerine yazma değil, bir hatadır. Üstünde bağlayıcısı olmayan bir takma ad da hatadır. !custom gibi bilinmeyen bir etiket yalnızca bir nottur ve değer metin olarak korunur.

YAML .nan, .inf ve -.inf değerlerine izin verir. JSON vermez. Araç bunlar için null yazar ve kaç tanesini değiştirdiğini söyler. 2^53'ün ötesindeki tam sayılar (yaklaşık 9 katrilyon), JavaScript'in saklayabildiği en yakın sayıya yuvarlanır ve bir not düşülür. Böyle sayılar içeren JSON'u yapıştırdığınızda da aynı yuvarlama olur. Bir JSON metni bir anahtarı yineliyorsa son değer geçerli olur.

2.000.000 karakterin üzerindeki girdi bir iletiyle reddedilir.

Makinenizden ne çıkar

Hiçbir şey yüklenmez. YAML kitaplığı, tarayıcınızın ilk dönüştürmenizde bir kez yüklediği, bu siteye ait bir betiktir. Sonrasında ayrıştırma ve yazma tarayıcı sekmenizde çalışır. "Kopyala" panoyu kullanır, "İndir" tarayıcıdan bir dosya kaydeder. Dönüştürürken ağ panelini izleyebilirsiniz: metninizi taşıyan hiçbir istek yoktur.

Sık sorulan sorular (SSS)

Araç, yalnızca true ve false'un mantıksal değer olduğu YAML 1.2 okur. YAML 1.1 ayrıştırıcıları yes, no, on ve off'u mantıksal değer olarak okur; bu yüzden eski araçlar bu sonuçla aynı fikirde olmayabilir.