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

TOML'a dönüştürmek için bir JSON nesnesi yapıştırın.

Nasıl hesaplanır?

Girdi, en az bir anahtarı olan bir JSON nesnesi (süslü parantezli) olmalıdır. Tek başına liste, tek değer, boş nesne, tüm değerleri null olan nesne veya geçersiz JSON sonuç göstermez. Her anahtar bir TOML satırına dönüşür: anahtar = değer. Metinler kaçışlı çift tırnakla yazılır, sayılar ve true/false çıplak yazılır, 2.0 gibi tam sayı değerli ondalıklar .0 kısmını korur, listeler ise [a, b, c] olur. Her derinlikteki iç içe nesneler, düz anahtarlardan sonra gelen [tablo] ya da [a.b] bölümlerine dönüşür; yalnızca nesnelerden oluşan bir liste ise tekrarlanan [[ad]] bloklarına çevrilir. Boşluk ya da özel karakter içeren anahtarlar tırnaklanır. TOML'da null yoktur; bu yüzden null üyeler dışarıda bırakılır (liste içindeki null öğe de atılır). Araç kaç üst düzey anahtarı dönüştürdüğünü de bildirir. Gerçek bir yapılandırma dosyasında kullanmadan önce çıktıyı kontrol edin. İç içe boş bir nesne [opts] gibi boş bir tabloya dönüşür, boş liste ise [] olarak kalır.

Örnek hesaplama

Bir başlık, sürüm numarası, mantıksal değer, liste ve iç içe nesne içeren şu nesneyi yapıştırın: {"title":"My App","version":2,"debug":false,"ports":[80,443],"database":{"host":"localhost","port":5432}}. Araç 5 anahtar sonucunu bildirir ve önce dört düz satır yazar: title = "My App", version = 2, debug = false, ports = [80, 443]. Ardından bir boş satır ve tablo gelir: [database] altında host = "localhost" ve port = 5432. İç içe nesne tabloya dönüştü; metin tırnaklı kaldı, 2 ve false ise tırnaksız yazıldı.

Bu örneği dene →

Sık yapılan hatalar

  • En üst düzeyde [1,2] gibi bir JSON dizisi yapıştırmak. Araç anahtarlı bir nesne ister, bu yüzden sonuç göstermez.
  • Tek tırnak veya sondaki virgülü kullanmak. Bu JSON'dur; metinler çift tırnakla yazılmalı ve sonda fazladan virgül olmamalıdır, aksi halde girdi reddedilir.
  • null değerinin korunmasını beklemek. TOML'da null yoktur, anahtar çıktıdan tamamen çıkarılır; programınız eksik anahtarı null'dan farklı ele alıyorsa varsayılanı elle ekleyin.
  • Nesne listesinin satır içi dizi olacağını sanmak. Tekrarlanan [[ad]] blokları olarak yazılır; veri aynıdır ama görünüm farklıdır.
  • Anahtar sayısını dosyadaki tüm anahtarlar sanmak. Yalnızca null olmayan üst düzey anahtarlar sayılır, iç içe anahtarlar dahil değildir.

Bu hesaplama hakkında

TOML (Tom's Obvious Minimal Language), kolayca okunabilir olması amaçlanmış bir yapılandırma dosyası biçimidir ve Rust'ın Cargo.toml paket manifestolarının, Python'ın pyproject.toml derleme yapılandırmasının ve birçok diğer geliştirici aracı yapılandırma dosyasının arkasındaki standart biçimdir. Bir JSON nesnesini TOML'a dönüştürmek, aynı veriyi TOML'un kendi kurallarıyla yeniden ifade etmek anlamına gelir: dize değerleri tırnak içine alınır, sayılar ve mantıksal değerler çıplak yazılır, iç içe nesneler [tablo] bölümlerine dönüşür ve diziler köşeli parantezli liste biçiminde kalır.

Bu araç, basit JSON nesneleri için bu yapısal dönüşümü otomatik olarak gerçekleştirir; bu, bir yapılandırmayı JSON tabanlı bir araçtan TOML tabanlı bir araca taşırken veya sözdizimi farklarını ezberlemeden bir JSON örneğinden elle TOML yazarken kullanışlıdır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Çıktıyı gerçek bir yapılandırma dosyasına taşırken iki ayrıntı önemlidir. 2024-01-05 gibi tarihe benzeyen değerler tırnaklı metin olarak kalır; programınız yerel bir TOML tarihi bekliyorsa tırnakları elle kaldırmanız gerekir. Ayrıca düz anahtarlar, JSON'daki sırası ne olursa olsun her zaman önce, tablolar ise sonra yazılır; TOML de bunu gerektirir. Hangi aracın yapılandırma dosyasını taşıyorsunuz ve çıktı düzenleme gerektirmeden çalıştı mı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar