JSON'dan CSV'ye Dönüştürücü - İç İçe Veriyi Düzleştirin
JSON'dan CSV'ye dönüştürücü
Bu araç ne yapar
Biri size bir API yanıtı gönderdi, bir başkası aynı şeyi tablo hâlinde istiyor. İşin tamamı bu — ve göründüğünden zor, çünkü JSON bir ağaç, tablo ise bir ızgara. Bu sayfa birini ötekine çeviren üç kararı veriyor ve ne karar verdiğini size gösteriyor.
Nasıl kullanılır
- 1 JSON'u yapıştırın ya da bir .json dosyası bırakın.
- 2 Ayracı seçin — dosya Excel içinse noktalı virgül kullanın.
- 3 Dönüştür'e basın, sonra sonucu kopyalayın ya da .csv olarak indirin.
Bir ağaç ızgaraya sığmaz, o yüzden düzleştirilir
İç içe bir nesne noktalı sütuna dönüşür: {"city":{"name":"London"}} → city.name sütunu. Bu yapılmazsa dönüştürücü hücreye "[object Object]" yazar — dosya açılır, geçerli görünür ve verinizin yarısı yoktur. Düz değerlerden oluşan listeler tek hücrede birleştirilir; nesne içeren listeler ise numaralı sütunlara ayrılır.
[
{
"name": "Ada",
"city": { "name": "London" },
"note": "Loves \"tea\""
},
{
"name": "Grace",
"city": { "name": "New York, NY" },
"tags": ["math", "navy"]
}
]
name,city.name,note,tags Ada,London,"Loves ""tea""", Grace,"New York, NY",,math; navy
Sütunlar ilk satırdan değil, bütün satırlardan gelir
Gerçek veride kayıtların alanları nadiren aynıdır: isteğe bağlı bir alan kırkıncı kayıtta ortaya çıkar, öncesinde hiç yoktur. Yalnızca ilk kayda bakan bir dönüştürücü o sütunu sessizce atar ve çıktıda bunu söyleyen hiçbir şey olmaz. Burada başlık, görülen bütün anahtarların birleşimidir — ilk görülme sırasıyla — ve alanı olmayan kayıtlara boş hücre düşer.
Başıboş tek bir virgül bütün sütunları kaydırır
İçinde ayraç, tırnak işareti ya da satır sonu geçen her değer tırnak içine alınmalı ve içindeki tırnaklar ikizlenmelidir. CSV standardının istediği budur ve dönüştürücülerin en sık yanlış yaptığı yer burasıdır. İçinde virgül olan bir adres, satır sonu içeren bir not, kesme işaretli bir ad — her biri, bu adımı atlayan bir dosyayı sessizce bozar.
Excel, CSV dosyalarını iki ayrı şekilde bozar
Birincisi: BOM olmadan UTF-8'i yerel kod sayfası sanır, Türkçe ve Latin dışı karakterler bozulur. İkincisi: birçok yerelde virgül değil noktalı virgül bekler ve her satırı tek sütuna tıkar. İkisi de burada seçenek ve ikisi de varsayılan olarak kapalı — çünkü standart virgül ve işaretsiz diyor, dosya da çoğu zaman tabloya değil bir betiğe gidiyor.