IT
OmnvertGörsel • Belge • Ağ

CSV ↔ JSON Dönüştürücü

CSV'yi JSON'a, JSON'ı CSV'ye dönüştürün — anında, gizli, yalnızca tarayıcıda. Yükleme yok, kayıt yok.
Geliştirici Araçları →
Ayırıcı
Çıktı biçimi
Girdi
Satır: 0 · Karakter: 0
Çıktı
Satır: 0 · Karakter: 0
100% tarayıcı tabanlı — verileriniz tarayıcınızdan çıkmaz. Elle çalıştırmak için Ctrl/Cmd+Enter kullanın.
Bu araç hakkında

CSV ve JSON web'deki en yaygın iki veri değişim biçimidir. CSV elektronik tabloların evrensel dilidir; her veritabanı yönetim paneli, analiz panosu, pazarlama platformu ve SaaS aracı CSV dışa aktarır çünkü 1979'da VisiCalc'in piyasaya çıkmasından bu yana elektronik tablolar iş verilerinin ortak dilidir. JSON ise API'lerin, JavaScript uygulamalarının, yapılandırma dosyalarının ve modern veri boru hatlarının evrensel dilidir; 2013'te IETF standardı olduktan sonra açık web'deki hemen hemen her diğer hafif değişim biçimini yemiştir. İki format arasında günlük, sürekli bir ihtiyaç oturur: bir tablodaki satırları JavaScript uygulamasına taşımak veya bir API yanıtını bir tabloya taşımak ki mühendis olmayan biri filtreleyebilsin.

Bu dönüştürücü bu yuvarlak dönüşümü doğru, hızlı ve gizli bir şekilde halleder. Sol panele CSV yapıştırın; sağ panel milisaniyeler içinde temiz bir JSON dizisiyle dolar. Bir JSON dizisi yapıştırın; sağ panel Excel, Numbers, LibreOffice Calc veya Google Sheets'te açılmaya hazır, düzgün biçimde tırnaklanmış bir CSV ile dolar. Altta yatan ayrıştırıcı PapaParse'tır; JavaScript ekosistemindeki çoğu CSV içe aktarma özelliğini güçlendiren kütüphane, yani üretim veri boru hatlarıyla aynı kenar durum işleme elde edersiniz: doğru şekilde kaçırılmış tırnaklı alanlar, hücre içindeki yeni satırlar, BOM ile veya BOM olmadan UTF-8 ve karışık satır sonları.

CSV'den JSON'a tarafında kontrol edebileceğiniz dört davranış vardır. Birincisi, ilk satırın başlık olarak kabul edilip edilmeyeceği: bunu açmak başlık adları anahtar olan bir nesne dizisi üretir; kapatmak her satırın yalnızca değer listesi olduğu bir dizi dizisi üretir. İkincisi, ayırıcı işleme: otomatik algılama virgül, noktalı virgül ve sekmeleri otomatik olarak tanır ki bu önemlidir çünkü Avrupa elektronik tabloları genellikle noktalı virgül kullanır — Almanca veya Türkçe yerel ayarında Excel buna varsayılan olarak ayarlanır — İngilizce yerel ayarları ve çoğu API ise virgül kullanır. Üçüncüsü, çıktı şekli: standart bir nesne dizisi, kompakt bir dizi dizisi veya ilk sütunun üst düzey anahtara dönüştüğü anahtarlı bir nesne seçebilirsiniz; bu, kimliğe göre hızlı O(1) arama istediğinizde kullanışlıdır. Dördüncüsü, tür çıkarsama: çıkarsama kapalıyken her değer bir dizedir, bu güvenlidir ve bilgi kaybetmez; açıkken sayısal sütunlar gerçek sayılara dönüşür, true ve false dizeleri boolean olur ve boş hücreler ile null kelimesi JSON null olur. Tür çıkarsama bilinçli olarak isteğe bağlıdır — örtük dönüşümler, bir ZIP kodu veya telefon numarası sütunu baştaki sıfırlarını kaybettiğinde yaygın bir hata kaynağıdır, bu yüzden varsayılan kapalıdır.

JSON'dan CSV'ye tarafında dönüştürücü bir nesne dizisi veya dizi dizisi kabul eder. Nesne dizisiyle, nesne anahtarları sütun başlıkları olur ve değerler bu sütunlarda satır olur. Nesneler arasındaki eksik anahtarlar temiz bir şekilde ele alınır: tüm anahtarların birleşimi başlık satırını oluşturur ve eksik hücreler boş bırakılır. Dizi dizisiyle, ilk iç dizi başlık satırı olarak ele alınır. İç içe nesneler bu yönde yaygın bir sancı kaynağıdır ve PapaParse varsayılan olarak bunları [object Object] olarak dizeleştirir, ki bu neredeyse hiçbir zaman istediğiniz şey değildir. Bu araç nesneleri nokta gösterimi kullanarak bir seviye düzleştirir: {"address": {"city": "İstanbul", "zip": "34000"}} gibi bir adres alanı, address.city ve address.zip adlı iki sütun olur. Daha derin iç içelikler hücrede JSON dizesi olarak korunur; pratikte bir seviyelik düzleştirme gerçek API yanıtlarının büyük çoğunluğunu kapsar.

Çıktı ayırıcısı ayrı olarak yapılandırılabilir. Elektronik tablo kullanımı için hedef uygulamanızın beklediği ayırıcıyla eşleştirin: İngilizce sistemlerde virgül varsayılandır, Avrupa sistemlerinde noktalı virgül ve sekme doğrudan metin editörlerine yapıştırmak veya Google'ın BigQuery toplu içe aktarması gibi TSV'ye özel boru hatları için kullanışlıdır. Başlık dahil etme kapatılabilir, örneğin başlıkları zaten olan bir tabloya yeni satırlar eklerken.

Her iki dönüşüm de canlıdır. Yazarken veya yapıştırırken çıktı 300 milisaniyelik bir gecikmeden sonra güncellenir. Çok büyük girdiler için — genellikle iki megabaytın üzerinde — bir uyarı görünür ve her tuş vuruşunda ayrıştırıcıyı yeniden çalıştırmaktan kaçınmak için Ctrl/Cmd+Enter ile manuel tetikleyiciye güvenebilirsiniz. PapaParse'ın kendisi onlarca bin satırı etkileşimli olarak işleyecek kadar hızlıdır, ancak tarayıcının sonucu da işlemesi gerekir, bu nedenle düşük donanımlı cihazlarda açık tetikleyici daha iyi bir UX olur.

Kopyala ve indir düğmeleri en yaygın sonraki iki adımı kapsar. Kopyala, çıktıyı küçük bir onay işaretiyle panonuza yerleştirir; indir, doğru uzantıya sahip (.json veya .csv) bir yerel dosya oluşturur ve tarayıcı kaydet iletişim kutusunu tetikler. Üretilen dosya adları kasıtlı olarak geneldir (data.json, data.csv) böylece kaydederken yeniden adlandırabilirsiniz; orijinal dosya adını korumak için akıllıca davranmaya çalışılmaz çünkü girdi genellikle dosya yerine yapıştırılmış metindir. Temizle düğmesi her iki paneli sıfırlar ve sıfırdan başlamak istediğinizde her zaman hazırdır.

Gizlilik, bu aracı tipik bir ücretsiz çevrimiçi dönüştürücü yerine kullanmanın nedenidir. Gerçek iş gününde CSV veya JSON aracılığıyla hareket eden veriler genellikle hassastır: bir CRM'den dışa aktarılan müşteri listeleri, kullanıcı analiz tabloları, dahili fiyatlandırma, ürün envanteri veya denetim günlükleri. Bunların herhangi birini üçüncü taraf bir sunucuya yüklemek, gizlilik politikası aksini söylese bile günlüğe kaydedilmeye, önbelleğe alınmaya ve çalışan erişimine maruz bırakır. Bu dönüştürücü tamamen tarayıcınızda çalışır: yapıştırdığınız baytlar sayfadan ayrılmaz. Sayfa yüklendikten sonra internet bağlantınızı kesebilirsiniz ve araç hâlâ çalışır. Giden yüklemeleri engelleyen bir proxy arkasındaki kurumsal VPN içinde çalıştırabilirsiniz ve hâlâ çalışır. KVKK, GDPR, HIPAA, SOX veya NDA kapsamında herhangi bir şey işliyorsanız, tarayıcı tabanlı bir dönüştürücü, tedarikçi-risk incelemesi gerektirmeyen tek seçenektir.

Bilinmesi gereken birkaç ince ayrıntı var. Birincisi, CSV'nin tırnaklama kuralları şaşırtıcı derecede zordur: virgül, yeni satır veya çift tırnak içeren bir hücre çift tırnakla sarılmalı ve dahili çift tırnaklar iki katına çıkarılmalıdır. Dönüştürücü bunu her iki yönde de doğru şekilde ele alır, bu nedenle bir CSV'yi JSON aracılığıyla yuvarlamak çoğu durumda bayt-özdeş çıktı üretir. İkincisi, JSON'un kanonik bir sütun sıralaması yoktur, bu nedenle JSON'dan CSV'ye dönüştürürken sütun sırası ilk nesnedeki anahtarların ekleme sırasını takip eder; modern JavaScript motorlarında bu kaynakta göründükleri sıradır. Daha sonraki bir nesnenin yeni anahtarları varsa, mevcut sütunların sağına eklenir. Üçüncüsü, null ile boş dize gerçek bir ayrımdır: tür çıkarsama modunda boş bir CSV hücresi JSON null olur, oysa JSON'daki literal "" dizesi boş bir CSV hücresi olur. Bu, eksik veriyi boş veriden ayırt eden boru hatları için önemlidir.

Bu araç, diğer Omnvert geliştirici yardımcı araçlarıyla doğal olarak eşleşir. JSON Viewer, dönüşümden sonra sonuç ağacını keşfetmek, küçültmek veya anahtarları alfabetik olarak sıralamak için yararlıdır. Regex Tester, içe aktarmadan önce dağınık bir CSV'yi temizlemeniz gerektiğinde yardımcı olur — telefon numaralarını normalleştirme, boşlukları çıkarma veya e-posta sütunlarını doğrulama gibi şeyler. Hash Generator, tekilleştirme veya önbellek anahtarları için bir sütundan kararlı kimliklere ihtiyaç duyduğunuzda kullanışlıdır. Ve Base64 Dönüştürücü, ikili verileri güvenli bir şekilde bir CSV veya JSON alanına koymak için kodlama ihtiyacını karşılar. Bunların hepsi aynı gizlilik garantileriyle tarayıcıda çalışır, böylece tüm veri-temizleme iş akışı tek bir sekmede, dönüştürme API'sine tek bir istek olmadan gerçekleşebilir.

Son olarak, yaygın veri şekilleri üzerine pratik bir not. API yanıtları genellikle gerçek yüklerini {"data": [...], "meta": {...}} gibi bir zarfa sarar — bu dönüştürücü dizinin kendisini girdi olarak bekler, bu yüzden zarfı değil iç data dizisini yapıştırmanız gerekir. Elektronik tablo dışa aktarmaları bazen UTF-8 BOM içerir ve bazen dışa aktarma aracından kalan sondaki boş satırlar içerir; her ikisi de şeffaf şekilde ele alınır. Karışık ayırıcılara sahip dosyalar (bir satırda virgül, diğerinde noktalı virgül) bozuktur ve belirsiz olmadan ayrıştırılamaz — bu olursa, satırların çoğuyla eşleşen bir manuel ayırıcı seçin ve aykırı değerleri elle düzeltin. Bu kenar durumları nadirdir ama olduğunda çıktı panelinin üstündeki hata mesajı size satır numarası dahil tam olarak nerede yanlış gittiğini söyler.

CSV ve JSON'un neden dönüştürücüye ihtiyaç duyduğunu anlamak için biraz tarih bilmek yardımcı olur. CSV 2005'te RFC 4180'e kadar resmi olarak standartlaştırılmadı ve bu belge bile katı bir kural yerine zaten yaygın uygulamanın bir en-iyi-çaba tanımıdır. Sonuç olarak vahşi doğadaki CSV'de gerçek belirsizlik vardır: satır sonları CRLF, LF hatta CR olabilir; tırnaklı alanlar birden fazla satıra yayılabilir; kodlama UTF-8, UTF-16, Windows-1252 veya eski bir bölgesel kod sayfası olabilir; ve Avrupa'da ayırıcı genellikle noktalı virgüldür çünkü virgül ondalık ayırıcı ile çakışır. Güçlü bir dönüştürücünün tüm bunları şikayet etmeden ele alması gerekir ve bu aracın altındaki PapaParse bunu on yıl boyunca üretim kullanımıyla sağlamlaştırmak için işte bunu yapar.

Kullanım alanları
  • Bir veritabanı yönetim panelinden CSV dışa aktarımını JavaScript uygulaması için JSON'a dönüştürün.
  • Bir JSON API yanıtını mühendis olmayan birinin Excel veya Google Sheets'te açabilmesi için CSV'ye dönüştürün.
  • İç içe JSON kayıtlarını bir seviye düzleştirerek elektronik tabloya uygun bir tablo üretin.
  • Avrupa noktalı virgülle ayrılmış CSV'leri virgülle ayrılmış CSV veya JSON'a normalize edin.
  • Ürün ekibinizin sürdürdüğü bir elektronik tablodan testler ve fikstürler için seed verisi hazırlayın.
  • JSON Viewer'a yapıştırmak ve ağaç navigasyonu için bir CSV'yi JSON'a dönüştürerek hızla inceleyin.
  • Başka bir yerden gelen JSON dışa aktarımından bir SaaS aracına (CRM, e-posta platformu, analiz) toplu içe aktarma için CSV oluşturun.
  • Bir sohbet mesajındaki virgülle ayrılmış veriyi koda yapıştırmak için JSON'a dönüştürün.
Nasıl çalışır
  1. 1Bir yön seçin: CSV → JSON veya JSON → CSV.
  2. 2Verilerinizi sol panele yapıştırın veya cihazınızdan bir .csv / .json dosyası yükleyin.
  3. 3Seçenekleri ayarlayın: başlıklar, ayırıcı, çıktı biçimi, CSV → JSON için tür çıkarsama.
  4. 4Sağ panelin 300 ms gecikmeden sonra canlı güncellendiğini izleyin veya Ctrl/Cmd+Enter'a basın.
  5. 5Çıktıyı panonuza kopyalayın veya .json ya da .csv dosyası olarak indirin.
SSS
CSV'den JSON'a ne yapar?
CSV'nizi okur ve her satırı bir JSON nesnesine dönüştürür, başlık satırını anahtar olarak kullanır. Sonuç, doğrudan bir JavaScript dizisine, API gövdesine veya yapılandırma dosyasına bırakabileceğiniz bir JSON dizisidir. Başlıklar seçeneğini kapatırsanız, her satırın ham bir dize değer listesi olduğu bir dizi dizisi elde edersiniz.
JSON'dan CSV'ye ne yapar?
Bir JSON nesne dizisini alır ve her nesneyi bir CSV'de satır olarak yazar; anahtarlar sütun başlıkları olur. İç içe nesneler nokta gösterimiyle bir seviye düzleştirilir, yani {"address": {"city": "İstanbul"}} address.city adlı bir sütun olur. Dizi dizileri de kabul edilir; ilk iç dizi başlık satırı olarak ele alınır.
Verilerim güvende mi?
Evet. Dönüşümün tamamı JavaScript ve PapaParse kullanarak tarayıcınızda gerçekleşir. Hiçbir şey sunucuya yüklenmez, çerez veya hesap gerekmez ve sayfa bir kez yüklendikten sonra çevrimdışı çalışmaya devam eder. Tarayıcınızın ağ sekmesinden bunu doğrulayabilirsiniz.
Hangi ayırıcılar destekleniyor?
CSV girdisi için otomatik algılama virgül, noktalı virgül ve sekmeleri ele alır — noktalı virgül kullanan Avrupa CSV'leri için yararlıdır. Belirli bir ayırıcıya manuel olarak da kilitleyebilirsiniz. JSON-CSV çıktısı için açıkça virgül, noktalı virgül veya sekme seçebilirsiniz.
Tür çıkarsama nedir?
Çıkarsama açıkken dönüştürücü sayısal dizeleri sayılara, true ve false dizelerini boolean'lara ve boş değerler ile null kelimesini JSON null'a dönüştürür. Varsayılan olarak kapalıdır çünkü örtük dönüşümler baştaki sıfırlı ZIP kodlarını, telefon numaralarını veya kimlikleri sessizce bozabilir. Sütunlarınızın tamamen sayısal veya boolean olduğunu bildiğinizde açın.
İç içe JSON'u işleyebilir miyim?
JSON-CSV, nesneleri nokta gösterimiyle bir seviye düzleştirir. Daha derin iç içelikler hücrede JSON dizesi olarak kalır. Karmaşık iç içe yapılar için genellikle JSON'u istediğiniz alanları seçmek üzere önce ön işlemek ve sonra dönüştürmek daha iyidir. JSON Viewer aracı bunun için iyi bir eşleşmedir.
Büyük dosyalar ne olacak?
Tarayıcı, on binlerce satırı etkileşimli olarak işleyebilir. 2 MB girdinin üzerinde bir uyarı görünür çünkü canlı güncelleme oluşturma yavaşlamaya başlayabilir. Devasa veri kümeleri için girdi panelini rahat bırakıp hazır olduğunuzda Ctrl/Cmd+Enter ile dönüştürmeyi tetikleyerek canlı güncellemeleri zihinsel olarak devre dışı bırakın.
Sayılarım neden dize oluyor?
CSV tür taşımaz — her değer metindir. Bu araç bunu sadakatle korur, böylece her hücre bir JSON dizesi olur. Sayısal görünen dizeleri gerçek sayılara dönüştürmek için Türleri çıkarsa'yı açın. Bunun baştaki sıfırlı sütunları (ZIP kodları, telefon numaraları) değiştireceğine dikkat edin; bunları dize olarak tutun.
Hücre içindeki tırnaklar ve virgüller nasıl ele alınır?
CSV'nin tırnaklama kuralları her iki yönde de doğru şekilde uygulanır: virgül, yeni satır veya çift tırnak içeren hücreler çift tırnakla sarılır ve dahili çift tırnaklar iki katına çıkarılır. Bu dönüştürücüden geçen bir CSV çoğu durumda bayt-özdeş kalır.
Excel dosyalarıyla (.xlsx) çalışır mı?
Excel dosyaları CSV değil ikili bir formattır. .xlsx'i Excel veya Google Sheets'te açın ve önce CSV olarak kaydedin / dışa aktarın, sonra buraya yapıştırın. Özel bir XLSX'ten CSV'ye dönüştürücü yol haritasında.