CSV ⇄ JSON

Herhangi bir biçimi yapıştırın — diğeri yazdıkça belirir, iki yönde de.

Nasıl kullanılır

  1. Kutuya CSV (veya TSV / noktalı virgülle ayrılmış metin) ya da bir JSON dizisi yapıştırın — sonuç yazdıkça çizilir, basılacak bir düğme yoktur. Yön, ilk karakterden algılanır ve sonucun üstünde gösterilir, böylece kontrol edebilirsiniz.
  2. Yön yanlış tahmin edildiyse CSV → JSON ya da JSON → CSV seçin. Her şey tek bir sütuna düşüyorsa ayırıcıyı “Otomatik”ten kendi karakterinize alın. Dosya verilerle başlıyorsa “İlk satır başlık” seçeneğini kapatın — o zaman nesneler yerine dizi dizisi alırsınız.
  3. Sonucu kopyalayın veya indirin. İkisi de ekranda gördüğünüz tam metni kullanır; dosya data.json veya data.csv olarak adlandırılır. “Örneği yükle”, etkin yöne göre bir örnek doldurur.

Örnek

Giriş (CSV)

order_id,customer,note,zip,amount,shipped
1001,"Yılmaz, Ayşe",iade istedi,00501,89.90,true
1002,Ali Kaya,,10001,42.00,false

Çıkış (JSON)

[
  {
    "order_id": 1001,
    "customer": "Yılmaz, Ayşe",
    "note": "iade istedi",
    "zip": "00501",
    "amount": 89.9,
    "shipped": true
  },
  {
    "order_id": 1002,
    "customer": "Ali Kaya",
    "note": "",
    "zip": 10001,
    "amount": 42,
    "shipped": false
  }
]

Bu çıktıda kontrol edilecek dört şey: “Yılmaz, Ayşe” içindeki virgül satırı bölmek yerine değerin içinde kaldı; 00501 posta kodu, aksi hâlde 501 olacağından baştaki sıfırını korudu; 10001 ise sayıya dönüştü, dolayısıyla zip sütunu karışık tiplerle sonuçlanıyor — her değeri metin olarak tutmak için “Sayıları ve boolean’ları algıla” seçeneğini kapatın; ve 89.90, 89.9 olarak çıktı, çünkü bir JSON sayısı sondaki sıfırı taşıyamaz.

Kurallar, sınırlar ve bilinen sorunlar

  • Dosya yükleme, sürükle-bırak veya URL getirme yok: metni yapıştırın. Bir bırakma bölgesi sonucun ihtiyaç duyduğu yüksekliği yer; dosyaları düzgün okumak UTF-8 dışı kodlamaları işlemek demektir — CSV görüntüleyici bunu zaten yapıyor (GB18030, Big5, Windows-1256), o hâlde dosyayı orada açıp metni kopyalayın.
  • Giriş 1.000.000 karakterle sınırlıdır; 200.000 üzerinde yazmayı bırakınca sonuç bekler ve bunu belirtir. Sert sınırın üzerinde açık bir hata alırsınız — giriş asla sessizce kısaltılmaz.
  • Tip algılama hücre bazında ve muhafazakârdır: yalnızca true / false / null (sadece küçük harf) ve katı JSON sayıları dönüştürülür. Başında sıfır olan tam sayılar (00501) ve 16 veya daha fazla haneli sayılar (uzun kimlikler) her zaman metin olarak kalır, boş hücreler null olmak yerine "" olarak kalır.
  • Bir JSON sayısı sondaki sıfırları tutamaz, bu yüzden 89.90 89.9’a, 42.00 ise 42’ye dönüşür. Her değeri yazıldığı gibi tutmak için “Sayıları ve boolean’ları algıla” seçeneğini kapatın.
  • Sütun sayısı en geniş satıra göredir, dolayısıyla hiçbir alan asla atılmaz: kısa satırlar boş dizelerle doldurulur ve fazla alanlar otomatik üretilen bir ad alır. İlk satırla eşleşmeyen satırlar numarayla listelenir.
  • Yinelenen sütun adları birbirinin üzerine yazılmak yerine _2, _3 … ile yeniden adlandırılır — üzerine yazmak tüm bir sütunu sessizce kaybettirir. Eksik veya boş başlık hücreleri column_N olur. Bu adlar makinece okunabilir ve her arayüz dilinde aynıdır.
  • JSON → CSV şu girdileri kabul eder: nesne dizisi (ana durum), dizi dizisi (konuma dayalı sütunlar), tek bir nesne ve düz değer dizisi (tek bir “value” sütunu). Bunların dışındaki her şey — üst düzey bir değer ya da nesneleri başka değerlerle karıştıran bir dizi — satır ve sütun belirtilerek reddedilir, asla tahmin edilmez.
  • İç içe geçmiş nesneler varsayılan olarak noktalı anahtarlara (address.city) düzleştirilir; diziler asla düzleştirilmez, hücre içinde sıkıştırılmış JSON olarak yazılır. İç içe nesneleri JSON olarak tutmak için düzleştirmeyi kapatın. Bir null boş hücreye dönüşür.
  • JSON katı biçimde ayrıştırılır: yorum yok, sondaki virgül yok, tek tırnak yok, kaçışlanmamış kontrol karakteri yok, en fazla 64 seviye iç içe geçme. Satır başına bir nesne (JSON Lines) kabul edilmez — önce nesneleri bir diziye sarın.
  • CSV hoşgörülü taraftır: kapanmamış bir tırnak metnin sonuna katlanır ve ilgili satır belirtilir, boş satırlar atlanır ve sayılır, yanlış alan sayısına sahip bir satır listelenir. Yalnızca JSON tarafı ağır hatalar üretir.
  • Çıkış CSV’si CRLF satır sonlarıyla ve bayt sırası işaretı olmadan yazılır ve kopyaladığınız şeyle birebir aynıdır. Latin dışı bir CSV’ye çift tıkladığınızda Excel bozuk karakter gösteriyorsa, Veri → Metinden/CSV’den içe aktar yoluyla içe aktarın ve UTF-8 seçin.
  • Kapsam dışı: .xlsx, arşivler, çoklu dosyalar, JSON Lines, YAML/XML/SQL/Excel dışa aktarma, sıralama, filtreleme, sütun seçme ve yineleneni silme — bunları CSV görüntüleyici ve yapılandırma dönüştürücü kapsar. Hiçbir şey yüklenmez, saklanmaz veya URL’ye konulmaz.

Veri diğer biçime girdiğinde kullanıcıların genellikle sıradaki ihtiyacı.