Ana sayfa CSV’den JSON’a

CSV’den JSON’a dönüştürücü

Bir CSV dosyası yapıştırın, karşılığında bir JSON dizisi alın. Dönüştürme bu sekmede olur — hiçbir şey yüklenmediği için, barındırılan bir araca yapıştırmayacağınız veriler için de güvenlidir.

Diğer diller:EnglishEspañol

Tip algılama ve baştaki sıfır kuralı

Bir CSV dosyasındaki her hücre metindir. JSON’un ise gerçek tipleri vardır; bu yüzden her dönüştürücü hangi metnin sayı, hangisinin doğru/yanlış, hangisinin boş değer olduğunu tahmin etmek zorundadır — ve veriyi sessizce bozan şey tam olarak bu tahmindir. Kutucuğu kapatırsanız her değer metin olarak gelir; emin değilseniz güvenli seçim budur.

Algılama açıkken en önemli kural şudur: baştaki sıfır asla sayıya çevrilmez. 007 metin olarak "007" kalır; 01234, +90 555 000 0000 ve 0000-0002-1825-0097 de öyle. Bu bir incelik değil: posta kodları, telefon numaraları, stok kodları, ISBN’ler ve TC kimlik numaraları baştaki sıfırı anlam taşıyan rakam dizileridir, ve klasik hesap tablosu hatası tam olarak bu dönüşümün özensiz yapılmasıdır.

HücreAlgılama açıkkenNeden
4242Düz tam sayı.
-3.5-3.5Düz ondalık.
00Tek başına sıfırın kaybedecek baştaki sıfırı yok.
007"007"Baştaki sıfır anlamlı.
1.50"1.50"Sondaki sıfır kaybolurdu.
1e5"1e5"Geri yazıldığında 100000 olurdu.
true / TRUEtrueBüyük/küçük harf duyarsız.
(boş)nullBoş hücre, boş metin değil, olmayan değerdir.

Genel ölçüt gidiş-dönüştür: bir değer yalnızca, ortaya çıkan sayı geri yazıldığında özgün metni birebir verdiğinde çevrilir. 1.50, 1e5 ve 007 değerlerini koruyan tek kural budur.

Neleri doğru işler

  • Tırnaklı alanlar"…" içindeki virgüller, tırnaklar ve satır sonları; kaçış tırnağı "".
  • Sekme veya virgül — ayraç başlık satırından anlaşılır, yani TSV de ayar değiştirmeden çalışır.
  • CRLF veya LF — Windows ve Unix satır sonlarının ikisi de okunur.
  • Eksik sütunlu satırlar — kısa bir satırın eksik sütunları boş kalır, kaymaz.
  • Adsız sütunlar — boş bir başlık hücresi boş anahtar yerine col_3 olur.

Bilerek yapmadıkları

İç içe yapı kurmaz. user.name adlı bir CSV sütunu, iç içe bir nesne değil, adı birebir "user.name" olan bir JSON anahtarı olur — ters yön olan JSON’dan CSV’ye sayfası (İngilizce) noktayla düzleştirir, ama noktaları yapı olarak geri okumak, sütun adında nokta bulunan her dosyayı sessizce yeniden şekillendirirdi.

Akış (streaming) da yapmaz. Dosyanın tamamı bellekte ayrıştırılır; girdiyi 2 MB civarında tutun, ötesinde dosyayı bölün veya komut satırı aracı kullanın. Bozuk CSV’yi de onarmaz: kapanmamış tırnağı olan bir dosya bir şeye ayrışır, ama kastettiğiniz şeye değil.

Sık sorulan sorular

Dosyam bir yere yükleniyor mu?

Hayır. Dönüştürme kendi sekmenizde çalışan JavaScript’tir — dosya makinenizden hiç çıkmaz ve sayfa bir kez yüklendikten sonra çevrimdışı da çalışır. Sunucu kaynaklı bir boyut sınırı da bu yüzden yoktur; tek sınır tarayıcınızın belleğidir.

Posta kodum neden metin olarak geldi?

Sıfırla başladığı için. Bir değer yalnızca, ortaya çıkan sayı geri yazıldığında özgün metni birebir verdiğinde sayıya çevrilir; 007, 01234 ve 1.50 böyle korunur. Her sütunu metin isterseniz tip algılamayı kapatın.

CSV yerine TSV dönüştürebilir miyim?

Evet. Ayraç başlık satırından anlaşıldığı için sekmeyle ayrılmış bir dosya ayar değiştirmeden dönüşür.

Alan içindeki virgülleri işler mi?

Alan tırnak içindeyse evet — RFC 4180’in gerektirdiği budur. "Yılmaz, Ada" tek değer olarak gelir; ayrıştırıcı kaçış tırnaklarını ("") ve tırnak içindeki satır sonlarını da işler.

Boş hücreye ne olur?

Tip algılama açıkken null olur, çünkü bir CSV dosyasındaki boş hücre neredeyse her zaman "değer yok" demektir, "boş metin" değil. Algılama kapalıyken boş metin olarak kalır.

İlgili sayfalar

Son güncelleme