JSON - CSV Dönüştürücü
Verileri yazarken anında JSON biçiminden CSV 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 | Metin sekmesinde 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.
Dönüştürücüler verileri yapıştırdığınız veya yazdığınız metin olarak ya da dosya olarak alır ve sonucu metin ya da dosya olarak verir. Hangisini kullanacağınızı kaynak tarafının ve hedef tarafının üstündeki Dosya ve Metin sekmeleriyle seçin. İki taraf da Metin sekmesiyle açılır.
- Metin girişi: verilerinizi yapıştırın veya yazın; siz yazdıkça dönüştürülür.
- Dosya girişi: bir veya birden fazla dosya seçin ya da sürükleyip bırakın. Dosyalara göz at düğmesi yalnızca kaynak biçimindeki dosyaları listeler, ancak bırakılan dosyalar 12 biçimden herhangi birinde olabilir ve her biri uzantısının belirttiği biçimden dönüştürülür; bu nedenle bir .yaml dosyası JSON'dan XML'e dönüştürücüde bile YAML olarak dönüştürülür. Bırakılan dosyanın uzantısı .txt gibi başka bir uzantıysa dosya kaynak biçiminden dönüştürülür. UTF-16 ile veya Windows-1252 gibi eski bir kodlamayla kaydedilmiş dosyalar da okunur.
- Metin çıkışı: sonuç, sözdizimi vurgulaması olan bir kod düzenleyicide görüntülenir ve kopyalanmaya hazır olur. Birden fazla dosya dönüştürüldüğünde, üstündeki Dosya menüsünden gösterilecek dosya seçilir.
- Dosya çıkışı: dönüştürülen dosyalar bir ızgarada, her biri kendi İndir düğmesiyle görünür ve dosya adlarını yeni uzantıyla korur. Hepsini İndir düğmesi, dönüştürülen tüm dosyaları tek bir ZIP dosyasına kaydeder ya da tek bir dönüştürülmüş dosyayı olduğu gibi kaydeder. Yapıştırılan veriler, converted.yaml gibi converted adlı tek bir dosya verir. Dönüştürülen dosyalar UTF-8 metindir; yalnızca MessagePack dosyaları ikilidir.
Değiştirme düğmesi dönüşüm yönünü tersine çevirir: hedef biçim kaynak olur, iki taraf sekmelerini değiş tokuş eder ve sonuç yeni girdi olur.
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. Dosyalarda hata mesajı dönüştürülemeyen dosyaların adlarını verir ve hedef tarafındaki Metin sekmesi, gösterdiği dosyanın ayrıntılarını sunar.
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. Metin halinde araçlar veriyi onaltılık baytlar olarak okur ve yazar:
{"a": 1}değeri81 A1 61 01biçimindedir ve girdide boşluklar, virgüller ve her baytın önünde0xbulunabilir. Dosya sekmesinde seçilen veya kaydedilen MessagePack dosyaları baytların kendisini içerir; bu nedenle dönüştürülmüş bir .msgpack dosyası ikilidir. 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.