KeroTools

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. 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. 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. 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çütBu araçÇevrimiçi dönüştürücülerKendi betiğiniz
Veri sunucuya gönderilirAslaGenellikle evetHayır
Kurulum gerekirYokYokÇalışma ortamı ve bağımlılıklar
İç içe yapı düzleşirEvet, noktalı sütunlarDeğişirNe yazarsanız
Kayıt sınırıYalnızca cihaz belleğiSık sık sınırlıYok
Hesap veya kayıtGerekmezSık sık istenirGerekmez
FiyatÜcretsizÜcretsiz / ücretli paketZamanı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.