CSV'den JSON'a Dönüştürücü - Ücretsiz Çevrimiçi Dosya Dönüştürme Aracı
CSV'yi JSON'a ve JSON'u CSV'ye tarayıcınızda anında dönüştürün. Güvenli, hızlı veri dönüşümü ile önizleme ve indirme. Dosya yüklemesi gerekmiyor.
CSV/JSON Dosya Dönüştürücü
CSV ve JSON formatları arasında kolayca dönüşüm yapın. Dosyanızı yükleyin, verileri önizleyin ve dönüştürülmüş sonucu indirin.
CSV'den JSON'a Dönüştürücü
JSON'dan CSV'ye Dönüştürücü
Belgeler
CSV'den JSON'a dönüştürücü nedir?
CSV'den JSON'a dönüştürücü, verileri CSV (Virgülle Ayrılmış Değerler) biçiminden JSON (JavaScript Nesne Gösterimi) biçimine veya tersine dönüştüren bir araçtır. Bu dönüştürücü tamamen web tarayıcısının içinde çalışır. Yüklenen dosyayı hiçbir zaman bir sunucuya göndermez; bu nedenle veriler kullanıcının cihazında kalır.
CSV, Excel veya Google E-Tablolar'dan dışa aktarılan elektronik tablolar gibi tabloları depolamak için kullanılan düz metin biçimidir. JSON, anahtar-değer çiftlerinden oluşan ve web uygulamaları ile API'ler arasında veri taşımak için yaygın olarak kullanılan bir metin biçimidir. İki biçim verileri farklı şekilde düzenlediğinden, aralarında dönüşüm yapmak aşağıda açıklanan belirli bir kurallar dizisini gerektirir.
CSV'yi JSON'a dönüştürme
- "CSV Dosyasını Yükle" düğmesine tıklayın ve cihazdan bir
.csvdosyası seçin. - Araç, ham dosya içeriğinin önizlemesini gösterir.
- "JSON'a Dönüştür" düğmesine tıklayın. Araç, ilk satırı sütun başlıkları olarak okur ve diğer her satırı bir JSON nesnesine dönüştürür.
- Sonuç, girintili biçimlendirilmiş şekilde çıktı önizlemesinde görünür.
- Dosyayı
.jsonolarak kaydetmek için "JSON'u İndir" düğmesine, metni kopyalamak için "JSON'u Kopyala" düğmesine tıklayın.
JSON'u CSV'ye dönüştürme
- "JSON Dosyasını Yükle" düğmesine tıklayın ve bir
.jsondosyası seçin. Dosya, örneğin[{"Name":"Ann"},{"Name":"Bo"}]gibi bir JSON nesne dizisi içermelidir. - Araç, ham JSON metninin önizlemesini gösterir.
- "CSV'ye Dönüştür" düğmesine tıklayın. Araç, tüm nesnelerde kullanılan her anahtarı toplar ve her birini bir sütuna dönüştürür.
- Sonuç, çıktı önizlemesinde CSV metni olarak görünür.
- Dosyayı
.csvolarak kaydetmek için "CSV'yi İndir" düğmesine, metni kopyalamak için "CSV'yi Kopyala" düğmesine tıklayın.
Verilerin hiçbiri tarayıcıdan çıkmadığı için sunucu tarafından uygulanan yükleme sınırı yoktur. Yine de çok büyük bir dosya tarayıcı sekmesini yavaşlatabilir; çünkü dönüştürme sırasında dosyanın tamamı bellekte tutulur.
CSV'den JSON'a dönüştürme kuralları
Dönüştürücü, dosyanın ilk satırını sütun adları olarak okur. Sonraki her satır, sütun adları anahtar olacak şekilde bir JSON nesnesine dönüştürülür. Başlıklardan daha fazla değer içeren bir satıra, satırdaki mutlak konumlarına göre adlandırılan ek anahtarlar verilir; bu nedenle 3 başlık olduğunda dördüncü değerin anahtarı field_4, beşinci değerin anahtarı field_5 olur ve bu şekilde devam eder; böylece hiçbir veri atılmaz. Daha az değer içeren bir satırda eksik anahtarların değerleri boş dizeler olur. İki başlık aynı ada sahipse ikincisi bir son ekle yeniden adlandırılır; bu nedenle a, a anahtarları a ve a_2 olarak dönüşür.
Dönüştürücü, biçim için teknik standart olan RFC 4180 ile tanımlanan CSV kurallarını izler. Bir alandaki virgül, alan çift tırnak içine alınmışsa, örneğin "Smith, John", sütun ayırıcı olarak değil yalnızca o alanın içindeki bir değer olarak kabul edilir. Tırnak içindeki satır sonları yeni satır olarak değerlendirilmek yerine değerin bir parçası olarak korunur. Tırnak içine alınmış bir alandaki iki çift tırnak, tek bir gerçek tırnak karakterini temsil eder.
Sütun ayırıcı olarak yalnızca virgüller tanınır; araç noktalı virgülleri, sekmeleri veya diğer ayırıcıları algılamaz ve desteklemez.
Her değer denetlenir ve bir türe dönüştürülür:
- Düz sayı olarak yazılmış bir değer, örneğin
42veya-3.5, JSON sayısına dönüşür. trueveyafalsemetni, harflerin büyük ya da küçük olmasından bağımsız olarak, JSON mantıksal değerine dönüşür.- Diğer her şey, boş hücreler de dâhil olmak üzere, JSON dizesi olarak kalır; boş hücreler boş dizelere dönüşür.
- Başında sıfır bulunan bir sayı, örneğin
00512, dize olarak kalır; çünkü baştaki sıfır, posta kodunda veya kimlik numarasında olduğu gibi, çoğu zaman anlam taşır. - Bir sayı yalnızca yeniden yazıldığında tam olarak aynı metni veriyorsa kabul edilir. JavaScript'te bir sayının tam olarak tutabildiği en büyük tam sayı olan 9,007,199,254,740,991 değerinden büyük uzun tam sayılar genellikle bu denetimi geçemez ve dize olarak kalır; böylece hiçbir basamak kaybolmaz.
- Dosyanın zaten tırnak içine aldığı bir değer, sayıya benziyor olsa bile her zaman dize olarak korunur; çünkü tırnak içine alma, yazarın bunu metin olarak işaretlediği şeklinde değerlendirilir.
Dosyadaki boş satırlar atlanır ve boş nesneler oluşturmaz.
JSON'dan CSV'ye dönüştürme kuralları
Dönüştürücü, dizideki her nesneye bakar ve tüm nesnelerde kullanılan anahtarların tamamını toplar. Bu anahtarlar, ilk görüldükleri sırayla CSV sütun başlıklarına dönüşür. Bir nesnede başka bir nesnede bulunan bir anahtar eksikse hata oluşturulmaz; ilgili hücre boş bırakılır.
JSON'dan CSV'ye dönüşüm, iç içe nesneleri ayrı sütunlara ayırmaz. Kendisi bir nesne veya dizi olan bir değer, tek bir hücre içinde JSON metni olarak yeniden yazılır; bu nedenle {"b": 1} hücrede {"b":1} olur ve [1, 2] hücrede [1,2] olur. Hiçbir şey kaybolmaz, ancak iç içe bölüm ayrı sütunlara bölünmek yerine tek bir sütunda kalır. Her parçanın kendi sütununda olması gerekiyorsa iç içe JSON'u önce elle düzleştirin.
null değeri ile bir nesnede bulunup diğerinde bulunmayan anahtarın her ikisi de boş hücre oluşturur.
Virgül, tırnak işareti veya satır sonu içeren hücre değerleri çıktıda çift tırnak içine alınır ve içlerindeki her tırnak işareti iki katına çıkarılır; böylece yukarıda açıklanan CSV kaçış kuralına uyulur.
Girdi JSON'u bir dizi olmalı ve içindeki her öğe bir nesne olmalıdır. Nesne yerine sayı, dize, null veya iç içe dizi kullanılması "JSON bir nesne dizisi olmalıdır" hatasını oluşturur. Hiç öğe içermeyen bir dizi "JSON dizisi boş. Dönüştürmek için en az bir nesne ekleyin." hatasını oluşturur. Hiç içerik içermeyen yüklenmiş bir dosya ise "Yüklenen dosya boş." hatasını oluşturur.
Çözümlü örnek
Başlangıç CSV dosyası:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4JSON'a dönüştürüldüğünde:
1[
2 {
3 "Name": "Ann Lee",
4 "Age": 29,
5 "Member": true
6 },
7 {
8 "Name": "Bo, Jr.",
9 "Age": 7,
10 "Member": false
11 }
12]
13"Bo, Jr." içindeki virgülün korunduğuna dikkat edin; bunun nedeni alanın kaynak dosyada tırnak içine alınmış olmasıdır. Age ve Member ise bir sayıya ve bir mantıksal değere dönüştü.
Aynı JSON, Age değerinin eksik olduğu eklenmiş bir satırla yeniden CSV'ye dönüştürüldüğünde:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5Eksik Age değeri boş hücreye dönüşür ve "Bo, Jr." içindeki virgül, dışa aktarılırken alanın yeniden tırnak içine alınmasına neden olur.
Yaygın kullanım alanları
- Veri analizi: Bir elektronik tablo veya analiz aracından dışa aktarılan CSV verilerini JavaScript ile işlenebilmeleri için JSON'a dönüştürmek, ardından sonuçları bir rapor için yeniden CSV'ye dönüştürmek.
- API testi: CSV yüklemelerini kabul eden bir API geliştiren kişinin, bir ayrıştırıcının beklenen nesneleri ürettiğini denetlemek için örnek dosyaları JSON'a dönüştürmesi.
- Veri geçişi: CSV dışa aktaran bir sistemden yalnızca JSON kabul eden bir sisteme veya bunun tersine kayıtları taşımak.
- Hızlı inceleme: Bir JSON dosyasını daha kolay okumak için tablo benzeri bir CSV'ye veya tersine dönüştürmek.
Programlama kütüphaneleri, csv ve json modülleri veya pandas gibi daha büyük ya da tekrarlanan işler için aynı dönüşümü sunar. csvkit ve jq gibi komut satırı araçları, bir terminalden dönüşüm ve filtreleme işlemlerini gerçekleştirir. Bu seçenekler toplu işleme için uygundur; bu tarayıcı aracı ise herhangi bir kurulum yapmadan tek seferlik dosyalar için uygundur.
Sık sorulan sorular
Yüklenen dosya bir sunucuya gönderiliyor mu? Hayır. Dönüştürme, tarayıcı sekmesinin içinde JavaScript ile çalışır. Dosya yerel cihazdan okunur ve hiçbir zaman iletilmez.
Dönüştürücü virgül dışındaki ayırıcıları, örneğin noktalı virgülü veya sekmeyi destekliyor mu? Hayır. Geçerli sürüm yalnızca virgülle ayrılmış değerleri okur. Farklı bir ayırıcı kullanan dosyanın önce virgülle ayrılmış biçime dönüştürülmesi gerekir; örneğin bir metin düzenleyicide ayırıcıyı değiştirerek.
00512 gibi bir sayı JSON çıktısında neden metin dizesi olarak kaldı?
Posta kodunda olduğu gibi baştaki sıfırlar genellikle anlamlıdır. Bu nedenle dönüştürücü, sıfırı kaldıracak olan 512 sayısına dönüştürmek yerine değeri dize olarak korur.
İç içe nesneler içeren JSON'u dönüştürürsem ne olur?
İç içe nesne tek bir hücrede JSON metni olarak yazılır; örneğin {"b":1}. Veriler korunur, ancak ayrı sütunlara bölünmez. Her alanın kendi sütununda olması gerekiyorsa iç içe verileri önce düzleştirin.
JSON'um nesnelerden oluşan bir dizi değilse ne olur?
Araç bir hata gösterir ve hiçbir dönüşüm yapmaz. Girdi, her öğesi bir nesne olan bir JSON dizisi olmalıdır; örneğin [{"a":1},{"a":2}].
Bir CSV dosyasının ilk satırı her zaman başlık satırı olmak zorunda mı? Evet. Dönüştürücü ilk satırı her zaman sütun adları olarak kabul eder. Başlık satırı olmayan bir dosyada ilk veri satırı yanlışlıkla başlık olarak okunur.
Kaynaklar
- Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, Ekim 2005. https://www.rfc-editor.org/rfc/rfc4180
- Bray, T., ed. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Aralık 2017. https://www.rfc-editor.org/rfc/rfc8259
- "Working with JSON." MDN Web Docs, Mozilla. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON