CSV'den JSON'a dönüşüm nedir?
CSV (Comma-Separated Values, RFC 4180) düz, tablo biçiminde bir metin formatıdır; JSON (JavaScript Object Notation, RFC 8259) yapılandırılmış veriler için ağaç biçiminde metin tabanlı bir biçimdir. CSV'yi JSON'a dönüştürmek, elektronik tablo dostu bir tabloyu API dostu bir nesne dizisine çevirir — her satır için bir nesne, başlık satırı anahtarları sağlar — tek bir hücreyi yeniden yazmadan.
CSV'den JSON'a dönüşüm nasıl çalışır?
Her dönüşüm yerel olarak tarayıcınızda çalışır. Üst düzey adımlar şunlardır:
- CSV'yi giriş bölmesine yapıştırır ve DÖNÜŞTÜR'e basarsınız; araç metni ayrıştırır ve çıkış bölmesinde JSON nesne dizisi üretir.
- Karakter karakter çalışan bir durum makinesi (FIELD_START → IN_UNQUOTED_FIELD veya IN_QUOTED_FIELD) girdiyi gezer,
""tırnak içi tırnak kaçışını dikkate alır, hem\r\nhem\nsatır sonlarını tanır ve ara temsil olarak iki boyutlu bir dizgi dizisi üretir. - İlk satır başlık olarak işaretlenmişse hücreleri nesne anahtarları olur; aksi hâlde araç, her satırın tam bir nesneye eşlenmesi için
field0,field1, … sentetik anahtarlar üretir. - Ayraç (virgül, noktalı virgül, sekme, dikey çizgi veya otomatik algılama) ve tür dönüşümü (sayılar / mantıksal değerler /
null) tümüyle yapılandırılabilir. Tür dönüşümü açıkken30sayı 30 olur vetruemantıksal değer olur; kapalıyken her hücre dizge olarak kalır. - Çıktı salt okunur metin alanına
JSON.stringifybiçiminde yazılır ve bir indirme bağlantısıapplication/json;charset=utf-8MIME türüyle birBloboluşturarak sonucu tek tıkla kaydetmenizi sağlar.
CSV'yi JSON'a bu araçla neden dönüştürmelisiniz?
- Gizlilik: her ayrıştırma ve dönüştürme geçişi tarayıcınızda olur. Veri sunucularımıza asla ulaşmaz.
- Doğruluk: CSV ayrıştırıcısı gerçek bir durum makinesidir. Tırnak içinde virgül içeren alanlar (
"Bob, Jr."), gömülü satır sonları ve kaçırılmış tırnaklar üç değil tek hücre olarak ayrıştırılır — safsplit(',')uygulamaları bu noktada hata yapar. - Tür sadakati: isteğe bağlı dönüşüm, sayısal ve mantıksal hücreleri gerçek JSON sayılarına ve mantıksal değerlerine çevirir; böylece elde ettiğiniz dizi ikinci bir temizleme adımına gerek kalmadan doğrudan kullanılabilir.
- Esneklik: virgül dışı CSV lehçeleri için herhangi bir ayraç seçin, ilk satırın başlık olup olmadığını belirleyin ve her hücrenin dizge kalması gerektiği durumlarda tür dönüşümünü kapatın.
CSV'den JSON'a dönüşümün yaygın uygulamaları nelerdir?
CSV'yi JSON'a ayrıştırmak veri çalışmaları ve araçlar boyunca her yerde karşımıza çıkar:
- API taklidi: bir elektronik tablodan dışa aktarılan CSV fikstürünü yapıştırıp yerel sunucunuzun taklit edilmiş bir uç nokta olarak döndürebileceği bir JSON dizisine dönüştürmek.
- Veri içe aktarımı: bir elektronik tablo dışa aktarımını (kişiler, envanter, anket yanıtları) CSV ayrıştırıcı bağımlılığı olmadan uygulamanızın veya komut dosyanızın yineleyebileceği bir JSON dizisine çevirmek.
- Yapılandırma düzenleme: teknik olmayan gözden geçirenlerin ayarları veya özellik bayraklarını elektronik tabloda hücre hücre düzenlemesine izin vermek, ardından kaydedilen CSV'yi uygulamanızın gerçekten yüklediği JSON'a dönüştürmek.
CSV'den JSON'a dönüşüm örneği nasıl görünür?
Birinci satıra name,age, ikinci satıra Alice,30, üçüncü satıra "Bob, Jr.",25 yapıştırıp virgül ayracı, ilk satır anahtar ve tür dönüşümü açık seçenekleriyle DÖNÜŞTÜR'e basmak [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] üretir — "Bob, Jr." içindeki tırnaklı virgül tek bir alanda kalır ve yaşlar gerçek JSON sayılarına dönüşür.
Bu CSV'den JSON'a dönüştürücüsü tamamen tarayıcımda mı çalışır?
Evet. Her ayrıştırma ve dönüştürme geçişi tarayıcı sekmenizin içinde JavaScript olarak yerel olarak çalışır. Araç fetch, XMLHttpRequest veya navigator.sendBeacon çağrısı yapmaz — CSV yükünüz sunucularımıza, üçüncü taraf bir dönüştürücüye veya herhangi bir analiz hattına ulaşmaz. Sayfa yüklendikten sonra araç çevrimdışı da çalışır; çünkü çalışma zamanında API bağımlılığı olmayan statik bir HTML/CSS/JS paketidir.
Bu dönüştürücünün işleyebileceği en büyük girdi boyutu nedir?
Dönüştürücü girdinin tamamını bellekte arabelleğe alır ve ana iş parçacığında eşzamanlı çalışır; bu yüzden pratik sınırlar cihazınıza bağlıdır. Modern bir dizüstü bilgisayarda yaklaşık 10 MB'a kadar CSV girişi (kabaca 100.000 tipik satır) gözle görülür bir duraksama olmadan dönüşür. Bunun ötesinde, ayrıştırıcı çalışırken arayüz takılabilir. Web Worker ile parçalı ayrıştırıcı kullanan akış tabanlı dönüşüm planlanan bir iyileştirmedir — şimdilik çok büyük veri kümelerini yapıştırmadan önce bölün.
CSV'den JSON'a ayrıştırıcı tırnak içi virgülleri ve gömülü satır sonlarını nasıl işler?
Ayrıştırıcı üç durumlu (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) karakter karakter çalışan bir durum makinesidir — saf split(',') değildir. Çift tırnak içine alınmış bir alan; ayracı, CR'yi, LF'yi veya "" olarak kaçırılmış birebir çift tırnağı, alan sınırlarını bozmadan içerebilir. Yani "Bob, Jr.",25 üç değil iki alana ayrıştırılır ve birden çok satırı kapsayan tırnaklı çok satırlı bir açıklama tek bir hücreye ayrıştırılır.
JSON çıktısında sayılar, mantıksal değerler ve boş hücreler nasıl tiplendirilir?
Tiplendirme, Tür dönüşümü anahtarıyla kontrol edilir. Tür dönüşümü açıkken (varsayılan), sayı gibi görünen bir hücre JSON sayısına dönüşür, true/false mantıksal değerlere ve null değişmezi JSON null'una dönüşür; geri kalan her şey dizge olarak kalır. Tür dönüşümü kapalıyken her değer içeriğinden bağımsız olarak dizge biçiminde korunur — baştaki sıfırların, telefon numaralarının veya kimlik kodlarının bozulmadan kalması gerektiğinde kullanışlıdır. Kısa bir satırdaki eksik son hücreler, her nesnenin tam anahtar setine sahip olması için boş dizge olarak yayımlanır.
CSV tarafı hangi ayraçları destekler?
Dört açık ayraç desteklenir: virgül (,, RFC 4180 varsayılanı), noktalı virgül (;, Avrupa yerel ayarlarında yaygın), sekme (\t, TSV lehçesi) ve dikey çizgi (|). Ayrıca Otomatik algıla'yı seçebilirsiniz; bu, ilk 4 KB girdideki tırnak dışı bölgelerde her adayın geçtiği yer sayısını sayar ve ilk beş satırda tutarlı sütun sayısı veren en sık olanı seçer.
Bu CSV'den JSON'a dönüştürücü gerçek bir durum makinesiyle ayrıştırır ve doğrudan bir API çağrısına, komut dosyasına veya kod incelemesine yapıştırabileceğiniz temiz, hazır JSON üretir — tek bayt yüklemeden.