JSON'ı CSV'ye veya Tabloya Dönüştür
Bir JSON dizisini Excel veya Sheets'te açabileceğiniz bir CSV dosyasına dönüştürün.
Dosyanızı buraya bırakın veya tıklayın
JSON dosyaları (.json)
Veriniz cihazınızdan çıkmaz
Sonradan silinecek bir şey yok
Ham API yanıtları için güvenli
Her modern tarayıcıda çalışır
Nasıl çalışır
- 1
JSON’unuzu yapıştırın ya da bırakın
Nesnelerden oluşan bir dizi doğrudan çalışır; metni yapıştırın veya sayfaya bir .json dosyası bırakın.
- 2
Başlık satırını kontrol edin
Dosyayı elektronik tabloya götürmeden önce sütunların beklediğiniz gibi olduğunu doğrulayın.
- 3
CSV’yi indirin
Excel, Google E-Tablolar veya Numbers’ta açın ya da CSV içe aktaran bir sisteme verin.
Neden bu araç
İç içe yapı düzleşir
Nesne içindeki nesneler, atılmak ya da tek hücreye ham metin olarak boşaltılmak yerine noktalı sütun adlarına dönüşür.
Düzensiz veriye tek başlık
Aynı anahtarları taşımayan kayıtlar yine de hizalanır, çünkü başlık satırı görülen tüm anahtarların birleşimidir.
Excel’de temiz açılır
Tırnaklama ve kaçış, elektronik tabloların gerçekten uyguladığı kurallara göre yapılır; sütunlar ait oldukları yere iner.
Hiçbir şey yüklenmez
Ayrıştırma tarayıcınızda olur — müşteri kayıtlarıyla dolu bir API yanıtı hiçbir sunucuya ulaşmaz.
Kayıt sınırı yok
Tek tavan cihazınızın belleğidir, ücretsiz paketin satır sınırı değil.
Ücretsiz, hesapsız
Kayıt yok, filigran yok, kaç dosya dönüştüreceğinize dair sınır yok.
Ağacın dikdörtgene dönüşmesi gerekir ve kesiği siz seçersiniz
Bu yönün bütün zorluğu budur. JSON bir ağaçtır: nesne içinde nesne, onların içinde dizi. CSV ise bir dikdörtgendir: sabit bir sütun kümesi, satır başına bir kayıt ve hiç iç içe geçme olanağı yok. Bu yüzden bir dönüştürücü yalnızca çeviremez; düzleştirmek zorundadır ve düzleştirmek, neyin satır sayılacağına karar vermek demektir. Düz nesnelerden oluşan basit bir dizide yanıt açıktır: satır başına bir nesne. Bundan derin olan her şeyde ise bu gerçek bir seçimdir. Kalem listesi içeren bir sipariş, kalemlerin tek hücreye ezildiği tek bir sipariş satırı olabilir ya da sipariş ayrıntılarının her satırda yinelendiği kalem başına bir satır olabilir. İkisi de yanlış değildir; farklı sorulara yanıt verirler. Dönüştürmeden önce hedefinizin hangisini beklediğini bilin, çünkü yanlış seçim doğru görünen ve her şeyi iki kez sayan bir dosya üretir.
JSON kayıtları anlaşmak zorunda değil, CSV anlaşmalarında ısrar eder
Bir JSON nesne dizisi düzensiz olabilir. İlk kayıtta yedi anahtar vardır, dördüncüde dokuz, dokuzuncuda ise ötekilerin hepsinin taşıdığı bir anahtar eksiktir — bu tümüyle geçerli JSON’dur ve API yanıtları bunu sürekli üretir, çünkü isteğe bağlı alanlar null yapılmak yerine hiç yazılmaz. CSV’nin ise altındaki her satırı yöneten tek bir başlık satırı vardır; dolayısıyla sütun kümesi herhangi bir yerde görünen tüm anahtarların birleşimi olmak zorundadır ve anahtarı eksik kayıtlar boş hücre alır. Bu tek uygulanabilir yanıttır ama bir şeyi gizler: boş hücre, anahtarın yok mu olduğunu, var olup null mu olduğunu, yoksa var olup boş dizeye mi ayarlandığını söyleyemez. Üçü de hiçliğe çöker. Bu ayrım dosyayı sonra okuyacak olan için önemliyse, dönüştürmeden önce JSON içinde korunmalıdır, çünkü CSV bunu taşıyacak bir yola sahip değildir.
Çıkışta türler yitirilir ve bu genellikle sorun değildir
JSON’a girerken zor soru, hangi dizelerin sayıya dönüşmesi gerektiğidir. Çıkarken soru ortadan kalkar — CSV’nin türü yoktur, dolayısıyla `42`, `true` ve `null` düpedüz karakterlere dönüşür ve anlamları dosyayı okuyacak olana bırakılır. Bu çoğunlukla zararsızdır, çünkü okuyan bir elektronik tablo ve bir insandır. İki yerde görünür hale gelir. Mantıksal alanlar `true` ve `false` sözcüklerinin kendisi olarak gelir; bu bir onay kutusundan farklı sıralanır ve süzülür ve bir meslektaş bunlarla çalışacaksa dönüştürme gerekebilir. null ise boş hücreye dönüşür ve yukarıdaki gibi eksik alandan ayırt edilemez. İkisi de dönüştürmenin kusuru değildir; ama biri sonucun üstüne formül kurmadan önce bilinmeye değer.
Bir metin alanı neden formüle dönüşebilir
Bu yöndeki tek gerçek güvenlik sorunu budur ve JSON dizeleri çoğu kez insanların yazdığı metni taşıdığı için vardır. Bir elektronik tablo CSV açtığında, `=`, `+`, `-` veya `@` ile başlayan her hücreyi metin değil formül sayar. Eksi işaretiyle başlayan bir ürün açıklaması, `@ad` ile başlayan bir not alanı, artı ile açılan bir adres satırı — her biri elektronik tablonun değerlendirmeye çalıştığı bir şeye dönüşür ve en iyi durumda verinizin yerinde hücrede bir hata bulursunuz. En kötüsündeyse kasten hazırlanmış bir değer, başkasının çalışma kitabında çalıştırılabilir bir formül olur; bu yüzden konu bir biçimlendirme tuhaflığı değil, CSV enjeksiyonu diye izlenir. JSON gerçek kullanıcıların doldurduğu bir formdan geldiyse, metnin metin olarak vardığını varsaymak yerine açtıktan sonra o sütunları gözden geçirin.
Hedef bir insandır ve mesele de budur
Bu dönüştürme belirli bir yönde, belirli bir nedenle işler. JSON programlara gider; CSV insanlara ve insanların hâlihazırda çalıştırdığı sistemlere. Bir API yanıtı, bir meslektaşın sıralayıp süzebileceği bir sayfaya dönüşür. Bir araçtan alınan dışa aktarma, mali işlerin özet tablo kurabileceği bir dosya olur. Bir kayıt listesi, kod düzenleyicisini hiç açmayacak birine uzatabileceğiniz bir şeye dönüşür. Hedefin veriyi olduğu gibi bırakmak değil de CSV olmasının nedeni budur ve başlık satırının bayt boyutundan önemli olmasının nedeni de budur — mesele okunabilirliktir. Hedef kitle insan değil de programsa büyük olasılıkla ters yönü istiyorsunuzdur ya da hiç dönüştürme istemiyorsunuzdur. Dosya doğrudan Excel’e gidip orada kalacaksa, gerçek bir çalışma kitabına gitmek kodlama ve ayırıcı sorularını tümüyle atlar.
Bu tür dosyada yerel dönüştürme neden önemlidir
İnsanların CSV’ye çevirdiği JSON neredeyse her zaman bir sistemin ürettiği bir şeydir: bir API yanıtı, bir veritabanı dışa aktarması, bir webhook yükü, bir iç araçtan çıkmış rapor. Bu yükler baktığınız alanlardan fazlasını taşır. Dahili tanımlayıcılar, e-posta adresleri, zaman damgaları ve bazen bir erişim belirteci ya da oturum kimliği, hiç kaydırıp görmediğiniz anahtarlarda oturur; çünkü siz yalnızca üç sütun için gelmişsinizdir. Barındırılan bir dönüştürücü bunların hepsini alır. Bu araç ise tümüyle tarayıcınızda çalışır: metin sayfada ayrıştırılır ve CSV, veriyi taşıyan tek bir ağ isteği olmadan geri yazılır; bunu geliştirici araçlarının Ağ sekmesinde doğrulayabilirsiniz. Girdi ham bir API yanıtıysa bu fark, kazandırdığı iki dakikadan çok daha değerlidir.
Kaçınılması gereken yaygın hatalar
- Satırın ne olduğuna karar vermeden dönüştürmek. Kalemli bir sipariş, sipariş başına ya da kalem başına satır olabilir — bilinçli seçin, çünkü yanlış seçim doğru görünen ve toplamları ikiye katlayan bir dosya üretir.
- Boş hücrenin belirli bir şey anlattığına güvenmek. Boşluk eksik bir anahtar, bir null veya boş bir dize olabilir; ayrım önemliyse dönüştürmeden önce JSON içinde koruyun, çünkü CSV bunu taşıyamaz.
- `=`, `+`, `-` veya `@` ile başlayan hücreleri denetlemeden sonucu açmak. Elektronik tablolar bunları formül sayar; kullanıcının yazdığı metin hata olarak ya da daha kötüsü çalıştırılabilir bir şey olarak gelebilir.
- Her kaydın aynı anahtarları taşıdığını varsaymak. API yanıtları isteğe bağlı alanları null yapmak yerine hiç yazmaz, bu yüzden başlık tüm anahtarların birleşimi olmalıdır — sütun sayısının beklediğiniz gibi olduğunu doğrulayın.
- Ham bir API yanıtını çevrimiçi bir dönüştürücüye yapıştırmak. Bu yükler genellikle hiç kaydırıp görmediğiniz alanlarda tanımlayıcılar, e-postalar ve bazen belirteçler taşır; bunun yerine yerel dönüştürün.
Karşılaştırma
| Ölçüt | Bu araç | Çevrimiçi dönüştürücüler | Kendi betiğiniz |
|---|---|---|---|
| Veri sunucuya gönderilir | Asla | Genellikle evet | Hayır |
| Kurulum gerekir | Yok | Yok | Çalışma ortamı ve bağımlılıklar |
| İç içe yapı düzleşir | Evet, noktalı sütunlar | Değişir | Ne yazarsanız |
| Kayıt sınırı | Yalnızca cihaz belleği | Sık sık sınırlı | Yok |
| Hesap veya kayıt | Gerekmez | Sık sık istenir | Gerekmez |
| Fiyat | Ücretsiz | Ücretsiz / ücretli paket | Zamanınız |
Özellikler
İç içe yapı için noktalı sütunlar
İç içe bir `address` nesnesi, metne çevrilmiş tek bir küme yerine `address.city` ve `address.postcode` olur.
Birleşim başlığı
Kayıtlar boyunca bulunan her anahtar bir kez görünür; bazı satırlarda eksik olan alan yine de sütun alır.
Standarda uygun tırnaklama
Virgül, tırnak veya satır sonu içeren değerler tırnaklanır ve kaçırılır; satır yapısı bozulmaz.
UTF-8 çıktı
Türkçe’nin ç, ğ, ı, ö, ş, ü harfleri, Arapça metin ve ASCII dışı diğer karakterler değişmeden yazılır.
Büyük dizileri kaldırır
On binlerce kayıt yükleme kuyruğu olmadan dönüşür.
Kurulum gerekmez
İndirilecek bir şey, çalışma ortamı veya bağımlılık yok — web sayfasının kendisinde çalışır.
Arapça ve RTL uyumlu
Sağdan sola Arapça dahil sekiz dilde tam arayüz.
Varsayılan olarak güvenli
HTTPS üzerinden sunulur, dosya izleme ve üçüncü tarafa yükleme yoktur.
Yüklendikten sonra çevrimdışı çalışır
Sekme yüklendikten sonra sayfa çalışmayı sürdürür, çünkü dönüştürme yereldir.
Kimler kullanıyor
Geliştiriciler
Bir API yanıtını teknik olmayan bir meslektaşın gerçekten okuyabileceği bir sayfaya çevirmek.
Veri analistleri
Bir JSON dışa aktarmasını, önce ayrıştırıcı yazmadan özet tablo ve süzme kaldıran bir biçime getirmek.
Destek ekipleri
Dışa aktarılmış bir talep ya da günlük yükünü elektronik tabloda sıralanabilir bir şeye dönüştürmek.
Operasyon çalışanları
Bir sistem dışa aktarmasını mali işlere ya da yönetime her gün kullandıkları biçimde uzatmak.
Sıkça Sorulan Sorular
Hayır. Dönüşüm tamamen tarayıcınızda çalışır — verileriniz asla yüklenmez, saklanmaz veya paylaşılmaz.
Evet. Her satır ve sütun sadık şekilde dönüştürülür; yapı korunur.
Evet — tamamen ücretsiz; hesap, filigran ve dosya sınırı yok.