INI - TOML Dönüştürücü
Verileri yazarken anında INI biçiminden TOML biçimine dönüştürün, doğrudan tarayıcınızda.
Girdi
Çıktı
Readme
Bu veri biçimleri nelerdir?
Programlar ayarlar, kayıtlar ve listeler gibi yapılandırılmış verileri, her biri veriyi kendine özgü şekilde yazan metin biçimlerinde saklar ve paylaşır. Bir program verileri başka bir programın okuyamadığı bir biçimde sunduğunda ya da söz konusu iş için bir biçimi okumak veya düzenlemek daha kolay olduğunda dönüştürücü işe yarar.
| Biçim | Veriyi yazma şekli | Nerelerde kullanılır |
|---|---|---|
| JSON | Süslü parantezler içinde nesneler, köşeli parantezler içinde listeler, çift tırnak içinde metin | Web API’leri ve uygulama ayarları |
| YAML | Girintili key: value satırları, - ile başlayan liste öğeleri |
Docker Compose, Kubernetes ve CI işlem hattı dosyaları |
| XML | Öznitelik içerebilen etiketler içindeki öğeler | Belgeler, RSS akışları ve SOAP web hizmetleri |
| TOML | [table] başlıkları altında key = value satırları |
Cargo.toml ve pyproject.toml gibi yapılandırma dosyaları |
| TOON | Girintili satırlar; kayıt listeleri, alanlarının altında satırlar halinde | AI dil modellerine gönderilen yapılandırılmış veriler |
| CSV | Bir başlık satırı, ardından her kayıt için bir satır; değerler virgülle ayrılır | Elektronik tablolar ve veritabanı dışa aktarımları |
| TSV | CSV gibidir, ancak değerler arasında sekme karakterleri bulunur | Elektronik tablodan kopyalanan hücreler |
| MessagePack | Burada onaltılık baytlar olarak gösterilen ikili veriler | Programlar arasındaki kompakt mesajlar |
| JSON5 | Yorumlara, tek tırnaklara ve tırnaksız anahtarlara da izin veren JSON | Elle yazılan yapılandırma dosyaları |
| JSONL | Her satırda bir JSON değeri; JSON Lines veya NDJSON olarak da bilinir | Günlükler ve veri kümeleri |
| INI | [section] başlıkları altında key = value satırları |
php.ini gibi program ayar dosyaları |
| Properties | Noktalı anahtarlar içeren key = value satırları |
Spring Boot'un application.properties dosyaları gibi Java uygulamaları |
Araç açıklaması
Bu araç verileri şu 12 biçim arasında dönüştürür: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI ve Java properties. Buradaki tüm veri biçimi dönüştürücüleri aynı şekilde çalışır; genel Veri Biçimi Dönüştürücü'den JSON'dan YAML'a, CSV'den JSON'a veya XML'den JSON'a gibi tek bir çift için olanlara kadar hepsi aynı mantığı izler: araç, adında belirtilen biçimlerle açılır ve Kaynak ile Hedef menülerinden başka biçimler seçilebilir. Verilerinizi yapıştırın veya yazın; sonuç, sözdizimi vurgulaması olan bir kod düzenleyicide siz yazdıkça görüntülenir ve kopyalanmaya hazır olur. Değiştirme düğmesi dönüşüm yönünü tersine çevirir ve sonucu yeni girdi olarak kullanır.
Girdi kaynak biçiminde geçerli olmadığında hata mesajı, genellikle sorunun bulunduğu satır ve sütunla birlikte, neyin yanlış olduğunu belirtir.
Verileriniz tarayıcınızda dönüştürülür ve hiçbir zaman yüklenmez.
Örnek
Bu JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}şu YAML'a dönüşür:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsekullanıcı başına bir satır içeren şu CSV'ye:
id,name,admin
1,Ann,true
2,Bo,falseve şu TOON'a:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseBiçimler birbirine nasıl dönüştürülür?
Biçimlerin tümü aynı türde verileri saklamaz; bu nedenle bazı dönüşümlerde şu kurallar uygulanır:
- CSV ve TSV bir tablo saklar. İlk satır sütun adlarını içerir ve diğer her satır bir nesneye dönüşür. İç içe nesneler, yollarına göre adlandırılan sütunlara; listeler ise hücrelerinde JSON metnine dönüşür. Örneğin
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}verisiname,address.cityvetagssütunlarına dönüşür. Tersine dönüştürüldüğünde bu sütunlar yeniden iç içe nesnelere ve listelere dönüşür. Veriler{"users": [...]}gibi tek bir liste içeren bir nesne olduğunda satırlar bu listenin öğelerinden oluşur; listelerden oluşan bir liste ise başlıksız satırlara dönüşür. - Metin değerleri: CSV, TSV, XML, INI ve properties yalnızca metin saklar; bu nedenle dönüştürücüler
truevefalsedeğerlerini true ve false'a,42veya3.5gibi düz biçimde yazılmış sayıları ise sayılara dönüştürür.007,1.50veya1e3gibi değerler metin olarak kalır; böylece posta kodları ve sürüm numaralarının özgün biçimi korunur. - XML öznitelikleri
@ile başlayan anahtarlara dönüşür; öznitelikleri olan bir öğenin metni ise#textolur:<price currency="USD">44.95</price>,{"@currency": "USD", "#text": 44.95}biçimine dönüşür. Tekrarlanan öğeler listeye dönüşür. XML'e dönüştürürken@ile başlayan anahtarlar yeniden öznitelik olur. Değeri liste olmayan tek anahtarlı bir nesne, kök öğeye dönüşür. Diğer veriler<root>öğesinin içine yerleştirilir; en üst düzeydeki her liste öğesi bir<item>öğesi olur. XML adlarında kullanılamayan boşluk gibi karakterler_karakterine dönüşür. - TOML, INI ve properties en üst düzeyde yalnızca adlandırılmış değerleri saklayabilir; bu nedenle liste olan veriler
itemsadı altında, tek bir değer isevalueadı altında yazılır. TOML'de null değeri bulunmadığından null değerler dışarıda bırakılır. - INI iç içe nesneleri
[server.ssl]gibi bölümler olarak, değer listelerinikey[] = valuesatırları olarak, nesne listelerini ise[users.0]gibi konumlarına göre adlandırılan bölümler olarak yazar. - Properties anahtarları, iç içe adları noktalarla birleştirir ve liste öğelerini
app.hosts[0]gibi köşeli parantezler içinde numaralandırır; Spring Boot da bu yöntemi kullanır. YAML veya JSON'a dönüştürüldüğünde bu anahtarlar iç içe nesnelere ve listelere dönüşür; böylece birapplication.propertiesdosyası,application.ymldosyasının düzenine dönüştürülür. Latin-1 dışındaki karakterler\ukaçış dizileriyle yazılır. - YAML sonuçlarında
on,yesveya bir tarih gibi YAML 1.1 okuyucularının farklı yorumlayabileceği metinler tırnak içine alınır; böylece YAML 1.1 ve YAML 1.2 okuyucuları aynı veriyi elde eder.---ile ayrılmış birden fazla belge içeren YAML dosyası, bu belgelerin listesine dönüşür ve<<birleştirme anahtarları doldurulur. - MessagePack ikili biçimdedir; bu nedenle araçlar veriyi onaltılık baytlar olarak okur ve yazar:
{"a": 1}değeri81 A1 61 01biçimindedir. Girdide boşluklar, virgüller ve her baytın önünde0xbulunabilir. Art arda gelen birden fazla mesaj listeye dönüşür. - JSONL sonuçlarında listenin her öğesi ayrı bir satırda yer alır.
- JavaScript sayılarıyla tam olarak gösterilemeyecek kadar büyük 64 bit kimlikler gibi tam sayılardaki tüm basamaklar korunur.
- TOML tarih ve saatleri ile MessagePack zaman damgaları,
1979-05-27T07:32:00Zgibi metinlere dönüşür.
İpuçları
- Elektronik tablodaki hücreleri dönüştürmek için hücreleri kopyalayıp TSV olarak yapıştırın: elektronik tablo uygulamaları hücreleri sekmeyle ayrılmış metin olarak kopyalar.
- CSV ve TSV, benzer kayıtlardan oluşan listeler için uygundur. Derinlemesine iç içe verilerin okunması YAML, TOML veya TOON biçimlerinde daha kolaydır.
- YAML, XML, TOML, JSON5, INI ve properties dosyalarındaki yorumlar korunmaz; dönüştürücüler yalnızca verileri aktarır.