Bir tabloyu Excel veya Google E-Tablolar'dan dışa aktarıp bir API'ye göndermen ya da bir uç noktadan gelen JSON listesini tabloya dökmen gerektiğinde iki biçim arasında köprü kurman gerekir. Bu CSV JSON converter, CSV metnini her satırı bir nesne olan JSON dizisine, nesnelerden oluşan JSON dizisini de başlık satırlı CSV'ye dönüştürür. Virgül, noktalı virgül ve sekme ayırıcılarını destekler; tırnaklı alanları, alan içindeki satır sonlarını ve ikilenmiş çift tırnakları standarda uygun okur.
Dönüşüm tamamen tarayıcında yapılır; müşteri listesi, sipariş dökümü ya da iç rapor gibi veriler sunucuya yüklenmez. Tek seferde 1 MiB girdi, 10.000 kayıt ve 50 sütun işlenebilir. İndir düğmesiyle alınan CSV dosyası UTF-8 BOM ile kaydedilir; böylece Excel'de açtığında ç, ğ, ı ve ş gibi Türkçe karakterler bozuk görünmez. Varsayılan olarak açık gelen CSV formül güvenliği seçeneği ise tablo programlarında istenmeyen formül çalışmasını önler.
CSV JSON Dönüştürücü (CSV to JSON / JSON to CSV) nasıl kullanılır?
- Dönüşüm yönü listesinden CSV → JSON veya JSON → CSV seçeneğini belirle.
- CSV ayırıcısı olarak verine uyan Virgül (,), Noktalı virgül (;) ya da Sekme seçeneğini seç; JSON → CSV yönünde bu, üretilecek dosyanın ayırıcısıdır.
- CSV veya JSON alanına verini yapıştır; CSV'de ilk satır sütun başlıkları olmalı, JSON ise nesnelerden oluşan bir dizi olmalıdır.
- JSON → CSV yönünde, Excel'de açılacak dosyalar için CSV formül güvenliği kutusunu işaretli bırak.
- Dönüştür düğmesine bas, Sonuç alanını kontrol et ve çıktıyı Kopyala ya da İndir ile al.
Örnek: ad,sehir
Deniz,?zmir
Dönüşüm kuralları: araç verini nasıl yorumlar?
Aracın iki yöndeki kuralları şunlardır:
- CSV → JSON: İlk satır başlıktır; başlıklar boş olamaz ve benzersiz olmalıdır. Her satırda başlıkla aynı sayıda alan bulunmalıdır.
- CSV'den gelen tüm değerler JSON'da dizge olur: 42 değeri "42" olarak aktarılır. Tür tahmini yapılmadığı için telefon numaralarının ve posta kodlarının baştaki sıfırı kaybolmaz.
- Dosya başındaki UTF-8 BOM işareti otomatik atılır.
- JSON → CSV: Başlıklar tüm nesnelerdeki anahtarların birleşimidir; bir kayıtta olmayan alan ve null değer boş hücre olur.
- İç içe nesne ve diziler hücreye JSON metni olarak yazılır; otomatik düzleştirme (flatten) yapılmaz.
- Tüm hücreler çift tırnak içine alınır ve satırlar CRLF ile ayrılır; bu çıktı RFC 4180 ve Excel ile uyumludur.
- JavaScript güvenli tamsayı sınırını aşan sayılar hata verir; bu tür değerleri JSON'da dizge olarak yaz.
CSV kaçış kuralları ve sık hatalar
CSV'de ayırıcı, çift tırnak veya satır sonu içeren bir alan tamamen çift tırnak içine alınarak yazılır. Alanın içindeki çift tırnak ise iki kez yazılarak kaçırılır: Ali "Usta" Demir değeri "Ali ""Usta"" Demir" olur. Araç bu kurala uymayan girdilerde açıklayıcı bir hata verir:
- Kapatılmamış çift tırnak: Bir alan tırnakla açılmış ama kapanmamıştır; çoğunlukla içteki tırnak ikilenmemiştir.
- Tırnaklar hatalı: Tırnak alanın ortasında başlıyordur, örneğin abc"def. Alanın tamamını tırnağa al.
- Kapanan tırnaktan sonra metin: "Deniz"x gibi kapanan tırnağın hemen ardından ayırıcı yerine karakter gelmiştir.
- Sütun sayısı uyuşmazlığı: Genellikle yanlış ayırıcı seçimi, tırnaksız ondalık virgüllü sayılar veya araya giren boş satırlardan kaynaklanır.
CSV, JSON ve XML farkı
CSV düz bir tablodur: satırlar ve sütunlar vardır ama veri türü ve iç içe yapı yoktur, her değer metindir. JSON ise nesne, dizi, sayı, mantıksal değer ve null türlerini taşır, iç içe veriyi doğal biçimde ifade eder ve web API'lerinin ortak dilidir. XML etiket ve öznitelik temelli, şema ve ad alanı desteği güçlü ama daha uzun bir biçimdir; SOAP servislerinde ve e-Fatura gibi resmî entegrasyonlarda hâlâ yaygındır.
Veriyi insanlar tablo programında açacaksa CSV, programlar arasında taşınacaksa JSON daha uygundur. Bu araç XML desteklemez.
Excel, Türkçe karakter sorunu ve formül enjeksiyonu
Excel, BOM içermeyen UTF-8 CSV dosyalarını çoğu zaman yerel kod sayfasıyla okur; bu yüzden “ş” yerine “ÅŸ” gibi bozuk karakterler görürsün. İndir düğmesi CSV dosyasının başına UTF-8 BOM ekleyerek bu sorunu önler. Türkçe bölge ayarlı Excel de liste ayırıcısı olarak çoğunlukla noktalı virgül bekler; dosya tek sütunda açılıyorsa Noktalı virgül (;) ayırıcısıyla yeniden dönüştür.
CSV formül enjeksiyonu, = + - @ ile başlayan bir hücrenin tablo programında formül olarak çalıştırılmasıdır; kötü niyetli bir kullanıcı adı ya da yorum, dosyayı açan kişiyi hedef alabilir. Formül güvenliği açıkken bu karakterlerle başlayan hücrelerin başına tek tırnak eklenir. Bunun bir yan etkisi vardır: -15 gibi negatif sayılar da '-15 olarak yazılır. Veriyi bir programa aktaracaksan ve içeriğe güveniyorsan seçeneği kapatabilirsin.
Sıkça sorulan sorular
CSV'yi JSON'a nasıl çeviririm?
Dönüşüm yönü olarak CSV → JSON seç, dosyandaki ayırıcıya uygun CSV ayırıcısını belirle ve içeriği yapıştır. İlk satırın sütun başlıklarını içerdiğinden emin ol. Dönüştür düğmesine bastığında her satır, başlıkları anahtar olarak kullanan bir JSON nesnesine dönüşür ve sonuç 2 boşluk girintili bir dizi olarak gösterilir.
Excel'de Türkçe karakterler neden bozuk çıkıyor?
Excel, dosyanın başında UTF-8 BOM işareti yoksa metni Windows-1254 gibi yerel bir kodlamayla okuyabilir ve ç, ğ, ş gibi harfler bozulur. Bu araçta İndir düğmesiyle alınan CSV dosyaları BOM ile kaydedilir. Sonucu Kopyala ile alıp kendin kaydettiysen dosyayı “CSV UTF-8” olarak kaydet ya da Excel'in Veri sekmesindeki metin içe aktarma seçeneğini kullan.
Sayılar neden JSON çıktısında tırnak içinde görünüyor?
CSV biçiminde veri türü bilgisi yoktur; 42 bir sayı da olabilir, bir ürün kodu da. Araç tahmin yürütmek yerine tüm değerleri dizge olarak aktarır. Bu sayede baştaki sıfırlar, uzun kimlik numaraları ve 1.250 gibi Türkçe biçimli sayılar bozulmaz. Sayısal türe ihtiyacın varsa dönüşümü kendi kodunda alan bazında yapman daha güvenlidir.
İç içe JSON nesneleri CSV'ye nasıl aktarılır?
İç içe nesne veya dizi içeren bir alan, CSV hücresine JSON metni olarak yazılır. Örneğin adres alanı {"il":"İzmir"} ise hücrede bu metin olduğu gibi yer alır. Araç alanları adres.il gibi ayrı sütunlara bölmez. Ayrı sütunlar istiyorsan JSON'u dönüştürmeden önce düz bir yapıya getirmelisin.
Verilerim sunucuya yükleniyor mu?
Hayır. CSV ve JSON dönüşümü tarayıcında JavaScript ile yapılır; yapıştırdığın veri Falanca sunucularına gönderilmez ve saklanmaz. İndir düğmesi de dosyayı doğrudan cihazında oluşturur. Bu yüzden müşteri listesi, sipariş kaydı veya iç rapor gibi verileri dönüştürmek için uygundur; yalnızca 1 MiB, 10.000 kayıt ve 50 sütun sınırına dikkat etmelisin.