Nasıl kullanılır?
- TOML belgesini TOML belgesi kutusuna yapıştırın ya da hazır örneği bırakın.
- Denetim satırına bakın. Yeşil, belgenin TOML 1.0.0'a uyduğunu; kırmızı ise satırı ve bozulan kuralı gösterir.
- JSON çıktısını kopyalayın ya da data.json olarak indirin.
Çevirinin nasıl çalıştığı
Okuyucu, TOML 1.0.0'ın dilbilgisini izler ve belirtimin anlattığı ağacı kurar. Ağaç, iki boşluklu girintiyle JSON olarak yazılır. Anahtarlar dosyadaki sırasını korur, böylece JSON, TOML'a benzer biçimde okunur.
- Bir tablo ve alt tabloları JSON nesnesi olur.
- Bir dizi JSON dizisi olur. Çift köşeli parantezle yazılan tablo dizisi ise nesnelerden oluşan bir JSON dizisi olur.
- Satır içi tablo bir JSON nesnesi olur; anahtarları satırdaki sırayla kalır.
JSON'un tutamadığı şeyler
- Tarih, saat ve ofsetli tarih metne dönüşür; örneğin "1979-05-27T07:32:00-08:00". JSON'da tarih türü yoktur; metin ofseti ve kesirli saniyenin her basamağını korur.
- Sonsuzluk ve NaN, JSON'da böyle bir sayı olmadığı için "inf", "-inf" ya da "nan" metnine dönüşür.
- Kesri olmayan ondalıklı sayı, örneğin 1.0, 1.0 olarak; 1 gibi bir tam sayı 1 olarak yazılır. Yalnızca bir sayı türü bilen bir JSON okuyucusu ikisini aynı sayı olarak okur.
Denetimin uyguladığı kurallar
Belirtimdeki bir kural bozulduğunda dosya hemen reddedilir. Hataların çoğunu şu kurallar doğurur:
- Bir anahtar yalnızca bir kez tanımlanabilir. Tırnaksız bir anahtar ile aynı adlı tırnaklı bir anahtar aynı anahtardır.
- Bir tablo başlığı tablosunu bir kez tanımlar. Daha uzun bir başlığın yalnızca ima ettiği bir tablo sonradan tanımlanabilir; ama nokta ile yazılmış anahtarların ya da satır içi tablonun oluşturduğu bir tablo tanımlanamaz.
- Tablo dizisi, çift köşeli parantezli her başlıkta bir tablo büyür. Boş bir çift parantezle yazılan sabit dizi bu yolla büyüyemez.
- Tam sayı, -9223372036854775808 ile 9223372036854775807 arasında işaretli 64 bitlik bir sayıdır.
Örnek: bir tarih, bir ondalıklı sayı ve büyük bir tam sayı
Her satır, bir TOML satırını ve araçın onun için yazdığı JSON değerini gösterir. Dört satırı birlikte çalıştırıp aynı sonucu tek çıktıda görebilirsiniz.
| TOML satırı | JSON değeri |
|---|---|
| when = 1979-05-27T07:32:00-08:00 | "when": "1979-05-27T07:32:00-08:00" |
| ratio = 1.0 | "ratio": 1.0 |
| port = 8000 | "port": 8000 |
| id = 9223372036854775807 | "id": 9223372036854775807 |
Sık sorulan sorular
Tarih neden JSON'da metin olarak yazılıyor?
JSON'da tarih ya da saat türü yoktur, bu yüzden araç TOML dosyasındaki metni yazar. Metin ofseti ve kesrin her basamağını korur; JSON okunduğunda hiçbir şey kaybolmaz.
Neden 1.0 yine 1.0, 1 ise 1 kalıyor?
TOML, tam sayıyı ondalıklı sayıdan nokta ya da üs ile ayırır ve JSON bu farkı yazdığı rakamlarda tutar. Farkı bir JSON okuyucusunun koruyup korumayacağı o okuyucuya bağlıdır.
Araç neden iki kez tanımlanan bir tabloyu reddediyor?
TOML 1.0.0, bir tablo başlığının tablosunu bir kez, bir anahtarın da bir kez tanımlamasına izin verir. İkinci tanım yazıldığı satırda hatadır; böylece JSON, dosyanın çeliştiği bir değeri hiç tutmaz.
Yorumlar ve anahtarların sırası korunuyor mu?
Yorumlar atılır, çünkü JSON'da yorum yoktur. Anahtarların sırası korunur, çünkü üyeler dosyadaki sırayla yazılır.
Birden çok satıra yayılan bir dizi çevrilebilir mi?
Evet. TOML 1.0.0'ın izin verdiği gibi bir dizi birkaç satıra yayılabilir ve sonunda virgül bulunabilir; araç bunu tek bir JSON dizisi olarak yazar.
Yapıştırdığım metin bir yere gönderiliyor mu?
Hayır. Çeviri tarayıcınızda çalışır; yapıştırdığınız hiçbir şey saklanmaz ya da bize gönderilmez. Yine de güvenmediğiniz bir sayfaya parola ya da belirteç yapıştırmayın.
Kaynaklar
Rakamlar ve metin en son 11 Kasım 2026 Çarşamba tarihinde kontrol edildi.