JSON'dan CSV'ye Dönüştürücü
Nesnelerden oluşan bir JSON dizisini, tamamen tarayıcınızda, bir CSV tablosuna dönüştürün.
Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.
Bir API yanıtını yapıştırın ve elektronik tabloda açabileceğiniz bir tablo alın. Dizinin herhangi bir yerinde görünen her anahtar bir sütun olur; işlem tarayıcınızda gerçekleşir, dolayısıyla kişisel verilerle dolu bir payload cihazınızdan hiç çıkmaz.
Nasıl çalışır
Belge nesnelerden oluşan bir dizi olmalıdır, çünkü tablo budur: her satır için bir nesne. Tek başına bir nesne, tek satırlık bir tablo olarak kabul edilir. Başka her şeyin (yalın bir sayı, bir dizge, dizgelerden oluşan bir dizi) satırı yoktur; tahmin edilmek yerine bildirilir.
Başlık satırı, yalnızca ilk nesnenin anahtarları değil, dizideki tüm anahtarların birleşimidir; her biri ilk görüldüğü sırayla yer alır. İlk kayıtta eksik olan isteğe bağlı bir alan, gerçek bir API yanıtının tam olarak böyle görünmesidir; yalnızca ilk satırın anahtarlarını almak, o sütunu tüm satırlar için dışarıda bırakırdı.
İç içe bir nesne veya dizi, ek sütunlara dağıtılmak yerine hücresine JSON olarak yazılır. Düzleştirmek daha düzenli görünür ama geri dönüşte bozulur: farklı biçimde iç içe geçmiş iki kayıt farklı sütun kümeleri üretir ve zaten nokta içeren bir anahtar, iç içe bir anahtardan ayırt edilemez hale gelir.
Null boş bir hücre olur, true ve false “true” ve “false” sözcükleri olur, sayılar da JSON'un yazacağı gibi yazılır; böylece bir değer çıkarken biçim değiştirmez.
Örnekler
| Durum | Girdi | Sonuç |
|---|---|---|
| İlk kayıtta eksik olan bir anahtar da sütun alır | [{"id": 1}, {"id": 2, "note": "late"}] | id,note 1, 2,late |
Sık sorulan sorular
İç içe nesnem neden bir hücrede JSON olarak görünüyor?
Çünkü onu düzleştirmek geri alınamaz olurdu. Bir kayıt üç düzey, sonraki tek düzey iç içe geçiyorsa, düzleştirme aynı diziden iki farklı sütun kümesi üretir; zaten nokta içeren bir anahtar da iç içe bir yoldan ayırt edilemez hale gelir. Yapıyı hücrede tutmak, geri dönüştürdüğünüzde elinizdekini geri almanızı sağlar.
Excel bunu düzgün açar mı?
Bu, dosyadan çok bölgesel ayarınıza bağlıdır. Ondalıkları virgülle yazan bir ayardaki elektronik tablo, ayırıcı olarak noktalı virgül bekler; ayırıcı listesinde bulunmasının nedeni budur. Virgülle ayrılmış bir dosya her satırı tek bir sütun olarak açıyorsa, nedeni budur.
Dizim bir nesnenin içinde. Neden başarısız oluyor?
Çünkü belgenin bütünü bir satır listesi değildir. {"data": [...]} biçimindeki bir API yanıtında sarmalayıcıyı değil, dizinin kendisini yapıştırmanız gerekir. Sarmalayıcının tam olarak bir satırı vardır (kendisi) ve onu dönüştürmek, her şeyi içeren tek hücreli bir tablo üretirdi.
Belgem bir yere yükleniyor mu?
Hayır. Sayfa, dönüştürmeyi yerel olarak yapan küçük bir betik yükler. Sayfa yüklendikten sonra ağ bağlantınızı kesebilirsiniz; araç çalışmaya devam eder.
Bilmekte fayda var
- Her şey tarayıcınızda gerçekleşir. Belge yüklenmez, kaydedilmez ve saklanmaz.
- Tırnaklama RFC 4180'i izler: bir alan ayırıcıyı, çift tırnağı veya satır sonunu içerdiğinde tırnak içine alınır; tırnaklı bir alanın içindeki çift tırnak iki kez yazılır. Ters eğik çizgiler sıradan karakterlerdir ve asla kaçış karakteri olarak işlenmez.