Yapılandırma Dönüştürücü

Bir yapılandırma biçimi yapıştırın, yazarken diğer ikisini alın.

Nasıl kullanılır

  1. Yapılandırmanızı yapıştırın — YAML, JSON veya Java .properties. Biçim algılanır ve yazarken diğer ikisi aşağıda belirir; basılacak bir düğme yoktur.
  2. Tahmin yanlışsa kaynak biçimi kendiniz seçin. 2 veya 4 boşluk girinti seçin; Spring tarzı anahtarları düz tutmak için “Noktalı anahtarları aç” seçeneğini kapatın.
  3. Her sonucu ayrı ayrı kopyalayın veya indirin — dosya adları config.yaml, config.json ve config.properties.

Örnek

Girdi (YAML)

server:
  port: 8080
  name: order-service
debug: true

JSON ve Properties

{
  "server": {
    "port": 8080,
    "name": "order-service"
  },
  "debug": true
}

Properties
----------
server.port = 8080
server.name = order-service
debug = true

Yalnızca varsayılan kurallar: kaynak YAML olarak algılandığından 8080 sayı, true bir mantıksal değer olarak kalır. Properties'te tür olmadığı için aynı değerler 8080 ve true dizileri olarak çıkar — kaynak .properties ise baştan sona dizedir.

Kurallar, sınırlar ve bilinen sorunlar

  • Yalnızca üç biçim: YAML, JSON ve Java .properties. TOML yok, INI [section] başlıkları yok, XML veya CSV yok.
  • YAML, bir yapılandırma alt kümesi olarak desteklenir: blok eşlemeler, diziler, akış {…} / […], tırnaklı skalerler ve | / > blok skalerleri. Çıpa (&), takma ad (*), !etiket, << birleştirme anahtarları ve ? karmaşık anahtarlar tahmin edilmek yerine hata olarak bildirilir.
  • Yalnızca ilk YAML belgesi dönüştürülür; sonraki bir --- yok sayılır ve bildirilir.
  • Yorumlar taşınmaz: üç biçim yorumları farklı yerlere koyar, bu yüzden yanlış yere konan bir yorum hiç yorum olmamasından daha kötüdür.
  • Properties'te tür yoktur. Her değer bir dizidir, bu yüzden port = 8080 JSON'da "8080" olur — 8080 değil. Sayılar, mantıksal değerler ve null yalnızca kaynak YAML veya JSON ise korunur.
  • ASCII dışı metin olduğu gibi (UTF-8) yazılır, \uXXXX olarak kaçış dizisine dönüştürülmez. Java'nın Properties.store() yöntemi ISO-8859-1 yazar, bu yüzden bir Java projesine yapıştıracaksanız dosyayı UTF-8 olarak kaydedin.
  • Güvenli aralığın dışındaki tam sayılar (12345678901234567890 gibi) sayıya yuvarlanmak yerine yazdığınız tam basamaklarla dize olarak korunur.
  • Anahtar sırası girdinizi izler; sıralama seçeneği yoktur.
  • Üst düzey bir dizi veya çıplak değer properties olarak yazılamaz — o panel bunu bildirir, diğeri yine de dönüştürür.
  • Dosya yükleme yok, URL parametresi yok, geçmiş yok. Her şey tarayıcınızda çalışır: hiçbir şey yüklenmez veya saklanmaz.
  • Satır sonu içeren bir dize YAML'da | blok skaleri olarak değil "a\nb" olarak yazılır.
  • Sınırlar: 1.000.000 karakter ve 64 iç içe seviye — aşarsanız kesik bir sonuç yerine hata alırsınız. 200.000 karakter üzerinde sonuç, yazmayı bıraktıktan yaklaşık 0,6 sn sonra güncellenir; çıktı LF kullanır ve sonda fazladan satır sonu yoktur.

Yapılandırma doğru biçime girince genellikle sıradaki ihtiyaç.