API yanıtından tabloya
JSON web API'lerinin yerel formatıdır, ancak verilere ihtiyaç duyan kişiler çoğu zaman tablolarla yaşar. Tipik durumlar: muhasebecinin Excel'de görmek istediği, bir mağaza API'sinden çekilmiş sipariş listesi; hızlı bir pivot tablo için bir NoSQL veritabanından dışa aktarılmış kullanıcı kayıtları; Google Sheets'te filtrelenecek analiz olayları ya da yalnızca CSV yükleme kabul eden bir CRM'e toplu olarak aktarılacak bir grup kayıt. CSV dosyası ayrıca komut satırında diff almak, sıralamak ve grep ile aramak için en kolay formattır.
Araç bir nesne dizisi alır ve her nesne için bir satır, her alan için bir sütun üretir; en üstte de bir başlık satırı bulunur. Girdinin altındaki bir sayaç kaç satır üretildiğini gösterir; bu, beklediğiniz kayıt sayısıyla karşılaştırmak için hızlı bir mantık kontrolüdür.
Tablo nasıl oluşturulur
Satırlar ve sütunlar hiçbir şema gerektirmeden verinin kendisinden türetilir:
- Sütunlar tüm anahtarların birleşimidir, ilk görüldükleri sırayla. İlk kayıtta
idvenamevarsa ve onuncu kayıtta ayrıcaemailde varsa, başlıkemailile biter ve ilk dokuz satırda bu hücre boş kalır. - İç içe nesneler noktalarla düzleştirilir; böylece
{"customer": {"address": {"city": "Lyon"}}}bircustomer.address.citysütunu üretir. Her derinlik çalışır. - Dizi yerine tek bir nesne, tek satırlık bir tablo olarak ele alınır.
[1, 2, 3]veya bir metin listesi gibi dizideki düz değerler,valueadlı tek bir sütuna gider.nullboş bir hücreye dönüşür, boolean değerler isetruevefalseolarak yazılır.
"meta": {} gibi boş bir iç içe nesnenin düzleştirilecek alanı yoktur, bu yüzden hiç sütun üretmez.
Kayıtların içindeki diziler
Tablolarda bir hücrenin içinde liste kavramı yoktur, bu yüzden "tags": ["red", "sale"] gibi bir dizi, JSON metni olarak ["red","sale"] şeklinde tek bir hücreye yazılır. Bu, veriyi kayıpsız tutar: daha sonra yeniden ayrıştırabilir veya bir tablo formülüyle bölebilirsiniz.
Asıl ihtiyacınız dizi öğesi başına bir satırsa, örneğin sipariş başına değil sipariş kalemi başına bir satır, önce veriyi yeniden şekillendirin. Çoğu betik dilinde bu, üst kayıtlar üzerinde tek satırlık bir map işlemidir ve üst kimliği her alt öğeye kopyalar. Yeniden şekillendirilmiş diziyi dönüştürücüye vermek temiz ve tamamen tablo biçiminde bir sonuç verir.
Tırnaklama ve ayırıcılar
Bir hücre yalnızca gerektiğinde çift tırnak içine alınır: ayırıcıyı, bir çift tırnağı veya bir satır sonunu içerdiğinde. RFC 4180'in gerektirdiği gibi bir değerin içindeki tırnaklar ikilenir; böylece 6" pipe, "6"" pipe" olarak yazılır. Diğer tüm değerler çıplak yazılır; bu da dosyayı küçük ve okunur tutar.
Ayırıcı en çok, dosya Excel'de çift tıklanarak açıldığında önem taşır:
- Virgül, Google Sheets, LibreOffice, veritabanları, Python'un
csvmodülü ve neredeyse tüm içe aktarma araçları için varsayılandır. - Noktalı virgül, Windows ondalık ayırıcı olarak virgül kullanan bir bölge ayarına sahip olduğunda Excel'in beklediği ayırıcıdır; bu, kıta Avrupası'nın ve Latin Amerika'nın büyük kısmını kapsar. Bu bölge ayarlarında virgüllü bir dosyayla her satır A sütununa düşer.
Emin değilseniz virgülü kullanın ve dosyayı Excel'in Veri, Metinden/CSV'den içe aktarma özelliğiyle açın; bu, ayırıcıyı açıkça seçmenize olanak tanır.
Excel'e temiz şekilde aktarmak
Bazı sorunlar dönüştürmeden sonra, tablonun içinde ortaya çıkar ve önlenmesi kolaydır:
- Aksanlı harfler sembollere dönüşüyor. Dosya bayt sırası işareti (BOM) olmayan UTF-8'dir ve Excel'in bazı sürümleri çift tıklandığında eski bir kodlamayı tahmin eder. Metinden/CSV'den içe aktarmayı kullanın ve UTF-8'i seçin ya da dosyayı Google Sheets'te açın.
- Baştaki sıfırlar ve uzun kimlikler bozuluyor. Excel
00042değerini42'ye çevirir ve 16 haneli veya daha uzun sayıları bilimsel gösterime dönüştürür. İçe aktarma penceresinde bu sütunları Metin olarak ayarlayın. - Tarihlerin biçimi değişiyor.
2026-03-01T10:00:00Zgibi ISO metinleri kısmen yorumlanabilir. Orijinal değere ihtiyacınız varsa sütunu Metin olarak içe aktarın.
9.007.199.254.740.991'in üzerindeki sayıların JSON tarayıcıda ayrıştırılırken zaten hassasiyet kaybettiğini unutmayın; bu yüzden çok büyük kimliklerin birebir korunması gerekiyorsa, onları kaynak JSON'da metin olarak saklayın.
Önce girdiyi kontrol etmek
Dönüştürücü geçersiz JSON bildirirse, verileri sorunun tam satırını ve sütununu gösteren JSON formatlayıcı aracına yapıştırın. Bir günlük dosyasından gelen veriler çoğu zaman JSON Lines formatındadır: etrafında köşeli parantez olmadan satır başına bir nesne. Geçerli bir dizi yapmak için onu [ ve ] içine alın ve satırlar arasına virgül ekleyin. Ters dönüşüm CSV'yi JSON'a dönüştür olarak mevcuttur. Tüm işlemler sayfa içinde gerçekleşir, bu yüzden yapıştırdığınız hiçbir şey hiçbir yere gönderilmez.