JSON'dan CSV'ye dönüşüm nedir?
JSON (JavaScript Object Notation, RFC 8259) yapılandırılmış veriler için ağaç biçiminde metin tabanlı bir biçimdir; CSV (Comma-Separated Values, RFC 4180) ise düz, tablo biçiminde bir metin formatıdır. JSON'u CSV'ye dönüştürmek bu ağacı satırlar ve sütunlara düzleştirir; böylece API yanıtı olarak başlayan bir veri kümesi tek satır yeniden yazmadan bir elektronik tabloda temizce açılır.
JSON'dan CSV'ye 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:
JSON.parsegirdiyi doğrular ve en üst düzeyde bir kayıt dizisi olduğunu teyit eder. Köşeli parantezler, virgüller veya tırnaklı anahtarlar tutarsızsa açık bir hata gösterilir.- Yazıcı, kayıtlarınızdan başlık sütunlarını türetir: ya görülen tüm anahtarların birleşimi ya da yalnızca ilk kayıttaki anahtarlar — değiştirgeye göre.
- İç içe nesneler nokta-anahtarlara düzleştirilir (
user.id,user.city) ya da tek bir JSON hücresi olarak serileştirilir — tercihe bağlı. Nesnelerin içindeki diziler her iki durumda da JSON olarak serileştirilir. - Her hücre RFC 4180'e göre kaçırılır: ayracı, çift tırnağı veya satır sonunu içeren herhangi bir değer tırnak içine alınır ve iç tırnaklar ikiye katlanır. Satırlar
\r\nsatır sonlarıyla birleştirilir. - CSV salt okunur metin alanına yazılır ve bir indirme bağlantısı,
text/csv;charset=utf-8MIME türüyle birBloboluşturarak dosyayı tek tıkla kaydetmenizi sağlar.
JSON'u bu araçla neden CSV'ye dönüştürmelisiniz?
- Gizlilik: her ayrıştırma, düzleştirme ve yazma geçişi tarayıcınızda olur. Veri sunucularımıza asla ulaşmaz.
- Doğruluk: yazıcı RFC 4180'i takip eder.
Bob, Jr.gibi bir değer"Bob, Jr."olur — iki sütun değil, tırnak içinde tek hücre — ve gömülü satır sonları ya da tırnaklar dönüşümden sağ çıkar. - Elektronik tabloya hazır: çıktı doğrudan Excel veya Google Sheets'e yapıştırılır; başlık sütunları anahtarlarınızdan zaten türetilmiştir, dolayısıyla veriler kullanılabilmeden önce elle temizleme gerekmez.
- Esneklik: iç içe nesneler için düzleştirme ile serileştirme arasında geçiş yapın, virgül dışı CSV lehçeleri için herhangi bir ayracı seçin ve başlıkların tüm anahtarlardan mı yoksa yalnızca ilk kayıttan mı geleceğine karar verin.
JSON'dan CSV'ye dönüşümün yaygın uygulamaları nelerdir?
JSON'u CSV'ye düzleştirmek, veri çalışmaları ve araçlar boyunca her yerde karşımıza çıkar:
- Veri dışa aktarımı: bir API yanıtını kod yazmadan finans, operasyon veya ürün ekibinin Excel ya da Google Sheets'te açabileceği bir CSV dosyasına dönüştürmek.
- Raporlama: bir JSON sorgu sonucunu pivot tablo, grafik veya formül sütunu için bir elektronik tabloya dökmek. Bu tür çalışma ham JSON üzerinde ağırdır.
- Elektronik tabloda inceleme: iç içe geçmiş bir JSON yapılandırmasını (ayarlar, özellik bayrakları, A/B varyantları) CSV'ye düzleştirerek teknik olmayan gözden geçirenlerin hücre hücre okuyup düzenlemesine olanak tanımak.
Bir JSON'dan CSV'ye örnek nasıl görünür?
[{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] yapıştırın, ayracı virgülde bırakın ve DÖNÜŞTÜR'e basın. Üç satır elde edersiniz: name,age başlık satırı, Alice,30 veri satırı ve "Bob, Jr.",25 satırı. Gömülü virgül, naif bir join'i tam da burada tökezletir — burada RFC 4180 tırnaklama tetiklenir ve hücre bütün kalır.
Bu JSON'dan CSV'ye dönüştürücü tamamen tarayıcımda mı çalışır?
Evet. Her ayrıştırma, düzleştirme ve yazma geçişi tarayıcı sekmenizin içinde JavaScript olarak yerel olarak çalışır. Araç fetch, XMLHttpRequest veya navigator.sendBeacon çağrısı yapmaz — JSON yükleriniz 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 JSON dizisi (kabaca 100.000 tipik kayıt) gözle görülür bir duraksama olmadan dönüşür. Bunun ötesinde, yazıcı çalışırken arayüz takılabilir. Web Worker ile parçalı yazı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.
Yazıcı virgül, tırnak veya satır sonu içeren değerleri nasıl işler?
RFC 4180'e göre. Etkin ayracı, çift tırnağı, CR'yi veya LF'yi içeren herhangi bir değer çift tırnak içine alınır ve iç tırnaklar ikiye katlanır. Bu şekilde Bob, Jr. gibi bir ad iki sütuna taşmak yerine tek hücre "Bob, Jr." olur, ve çok satırlı bir açıklama satırı bozmak yerine tek hücrede kalır. Saf bir join(',') burada yanlış yapar.
İç içe JSON nesneleri CSV'ye dönüştürülürken ne olur?
İç içe nesneler İç içe nesneler anahtarına göre işlenir. Düzleştir modunda (varsayılan) anahtarlar noktayla birleştirilir — {"user":{"id":1,"city":"Paris"}}, user.id ve user.city sütunlarına dönüşür. Serileştir modunda iç içe nesne, RFC 4180 tırnak kaçışı korunarak tek bir JSON hücre değeri olarak serileştirilir; bu, yapısını gidiş-dönüş için korur. Nesne içindeki diziler her iki modda da JSON olarak serileştirilir.
CSV çıktısı hangi ayraçları kullanabilir?
Dört: virgül (,, RFC 4180 varsayılanı), noktalı virgül (;, Avrupa yerel ayarlarında yaygın), sekme (\t, TSV lehçesi) ve dikey çizgi (|). Hedef aracınızın beklediğini seçin. Yazıcı, seçilen ayracı içeren her hücreyi kaçırır; dolayısıyla seçim hiçbir zaman bir değeri bozmaz.
Bu JSON'dan CSV'ye dönüştürücü dizinizi düzleştirir ve RFC 4180 uyumlu çıktı üretir; bunu doğrudan bir elektronik tabloya, rapora veya kod incelemesine yapıştırabilirsiniz — tek bayt yüklemeden. Ters yöne mi ihtiyacınız var? CSV'den JSON'a dönüştürücü diğer yönde ayrıştırır.