Bir CSV dosyası açın veya yapıştırın; seçenekleri değiştirdikçe JSON çıktısı yanlarında görünür. Varsayılan olarak her satır, sütun adlarını anahtar olarak kullanan bir nesneye dönüşür; verinin gideceği kod başka bir yapı bekliyorsa dizilerden oluşan bir dizi, sütun dizilerinden oluşan bir nesne ya da JSON Lines seçin. Her değer varsayılan olarak metin (string) kalır; böylece 00731 ve 20 haneli kimlikler tam oldukları gibi çıkar. Sayı algılamayı yalnızca bir sütunun JSON sayılarına ve true/false değerlerine dönüşmesi gerektiğinde açın. Yapılandırma dosyaları için CSV’den YAML’a aynı satırları YAML olarak yazar. Dosya tarayıcınızda dönüştürülür, hiçbir zaman yüklenmez.
CSV, JSON’a nasıl dönüştürülür?
- Bir
.csv,.tsvveya.txtdosyası açın, araca sürükleyip bırakın ya da satırları yapıştırın. Ayırıcı ile UTF-8 veya UTF-16 BOM işareti algılanır; başka bir ayırıcıyı veya Windows-1254, Windows-1252 ya da Shift_JIS gibi eski bir kodlamayı İçeri aktarma ayarları altından seçin. - JSON yapısı seçin. Önizleme, indirilecek çıktının birebir aynısının ilk 200 satırını gösterir.
- Değer türleri, Boş hücreler, iç içe yerleştirme ve Girinti ayarlarını belirleyin, ardından JSON indir veya Kopyala seçeneğini kullanın.
Aynı ayarlarla çok sayıda dosya dönüştürmek için Toplu işlem: birden çok dosyayı dönüştür seçeneğini seçip dosyaları birlikte seçin: her dosya sırayla dönüştürülür ve sonuçlar tek bir ZIP olarak iner.
JSON çıktı seçenekleri: nesneler, diziler veya JSON Lines
| Nesne dizisi (her satır bir nesne) | Her satır için, başlıkla anahtarlanmış bir nesne: [{"sku": "00731", …}]. Çoğu API’nin ve JavaScript kodunun beklediği yapı. |
|---|---|
| Dizi dizisi (önce başlık) | Önce başlık satırı, ardından her satır bir liste olarak. En küçük çıktıdır; sütun sırası açıkça korunur. |
| Sütun dizilerinden oluşan nesne | {"sku": ["00731", "00732"], …}; grafik kütüphaneleri ve veri çerçevesi (data frame) araçları için kullanışlıdır. |
| JSON Lines (her satırda bir nesne) | Çevreleyen bir dizi olmadan her satırda bir JSON nesnesi (JSON Lines). Günlük işleme hatlarına, BigQuery yüklemelerine ve satır satır işlemeye uygundur. |
| Tüm değerleri metin olarak tut | Her hücre, dosyada yazıldığı gibi bir JSON metni (string) olur. Varsayılan budur. |
| Sayıları ve true/false değerlerini algıla | Bir sütun ancak boş olmayan her değeri dönüştürmeden zarar görmeden çıkan sade bir sayıysa JSON sayılarına dönüşür: baştaki sıfır yok, en fazla 15 anlamlı basamak, ondalık virgül yok. true/false sütunları mantıksal değer olur. Tarihler metin olarak kalır. |
| Boş hücreler | "" ya da null yazın veya o nesnede anahtarı hiç yazmayın. |
| Noktalı sütun adlarını iç içe yerleştir | user.name ve user.email, {"user": {"name": …, "email": …}} olur. Bir ad hem değer hem üst öğe ise (user ve user.name) bu sütunlar düz kalır ve araç bunu size bildirir. |
JSON’daki başlıklar, tırnaklı değerler ve kimlikler
- Tırnak içindeki virgüller, tırnaklar (
"") ve değer içindeki satır sonları RFC 4180 kurallarına göre okunur ve olağan JSON kaçış dizileriyle (\n,\") yazılır. - Başlık adları, boşluklar ve Latin dışı yazı sistemleri dahil, yazıldıkları gibi kullanılır;
sipariş_nogibi Türkçe karakterli adlar da değişmez. Boş bir başlıkColumn 3, yinelenen bir başlıkname (2)olur; böylece hiçbir değerin üzerine yazılmaz. __proto__veyaconstructorgibi başlıklar sıradan anahtarlar olarak yazılır.- Başlıktan fazla değer içeren bir satır
Column 4,Column 5… adlı ek anahtarlar alır; daha kısa bir satır boş değerler alır. Hiçbir şey atılmaz. - Türlü çıktı hiçbir zaman
0012değerini12yapmaz veya 19 haneli bir sipariş numarasını yuvarlanmış bir kayan noktalı sayıya çevirmez: böyle bir sütun metin olarak kalır.
CSV’den JSON’a dönüştürmede sık görülen sorunlar
- Her şey tek bir anahtarda. Ayırıcı yanlış tahmin edilmiş; İçeri aktarma ayarları altında virgül, noktalı virgül, sekme veya dikey çizgiyi seçip dosyayı yeniden açın.
- Türkçe harfler ü, ç gibi görünüyor. Dosya UTF-8 değil. İçeri aktarma ayarları altında dosyanın kodlamasını seçin (eski Türkçe Excel dışa aktarımlarında genellikle Windows-1254).
- Bir sayı sütunu metin olarak kaldı. En az bir değer sade bir sayı değil; örneğin
1,5,12 kgya da baştaki sıfırlı bir değer. Bulmak için sütunu CSV görüntüleyicide arayın. - Tırnak hatası bir kaydı işaret ediyor. O kayıtta açılan bir tırnak hiç kapanmıyor. Hatayı CSV düzenleyicide düzeltin veya kaynak sistemin dışa aktarımını kontrol edin.
Sınırlar ve gizlilik
25 MB, 100.000 satır veya 2 milyon hücreye kadar dosyalar canlı önizlemeyle açılır. Daha büyük dosyalar akış modunda dönüştürülür: dosya parçalar hâlinde iki kez okunur (bir kez sütunları ve türleri öğrenmek, bir kez de yazmak için), önizlemenin yerini bir bildirim alır ve indirilen dosya tüm satırları kapsar. Tek bir çıktı dosyası en fazla 4 GB olabilir.
Dönüştürme bu sekmede arka plandaki bir işçide çalışır; böylece sayfa yanıt vermeye devam eder ve İptal işlemi durdurur. CSV dosyası hiçbir zaman bir sunucuya gönderilmez.
Örnek: JSON nesneleri olarak bir ürün listesi
Baştaki sıfırlı bir SKU ve tırnak içinde bir virgül içeren ürün listesi, varsayılan ayarlarla (tümü metin, nesne dizisi, 2 boşluk girinti) dönüştürüldü. Sayıları ve true/false değerlerini algıla açıkken price, 34.9 ve in_stock, true olur; sku ise "00731" olarak kalır.
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Sık sorulan sorular
Sayılar neden varsayılan olarak tırnak içinde?
Çünkü CSV’de tür yoktur: 00731, 1.50 ve 2024-03-01 hepsi yalnızca metindir. Bunları metin olarak tutmak, JSON’ın dosyanın söylediğini birebir söylemesini garanti eder. Bir sütunun miktar içerdiğini biliyorsanız sayı algılamayı seçin.
Burada JSON’ı yeniden CSV’ye dönüştürebilir miyim?
Henüz hayır. Bu sayfa yalnızca CSV ve TSV dosyalarını JSON’a dönüştürür.
JSON Lines, NDJSON ile aynı mı?
Uygulamada evet: ikisi de satır sonu karakterleriyle ayrılmış, her satırda bir tam JSON değeri anlamına gelir.