Araca geç
ViewCSV
Dosya yüklenmez

CSV’yi JSON’a dönüştürün

orders.csv· ÖRNEK VERİ15 satır · 8 sütun
Değer türleri
Algılama sütun bazında yapılır ve yalnızca sütundaki her değer uyduğunda uygulanır; bu yüzden baştaki sıfırlı kimlikler ve 9.007.199.254.740.991’den büyük tam sayılar metin olarak kalır.
user.name ve user.email adlı sütunlar, “name” ve “email” alanlarını içeren tek bir “user” nesnesine dönüşür.
[
  {
    "order_id": "001041",
    "customer": "Yusuf Demir",
    "city": "Ankara",
    "product": "Coffee beans 1kg",
    "quantity": "2",
    "unit_price": "127.75",
    "order_date": "2026-01-27",
    "status": "paid"
  },
  {
    "order_id": "001042",
    "customer": "Asel Yıldız",
    "city": "Ankara",
    "product": "Notebook A5",
    "quantity": "5",
    "unit_price": "153.28",
    "order_date": "2026-02-11",
    "status": "shipped"
  },
  {
    "order_id": "001043",
    "customer": "Ömer Yıldırım",
    "city": "Adana",
    "product": "Desk lamp",
    "quantity": "8",
    "unit_price": "216.50",
    "order_date": "2026-03-20",
    "status": "shipped"
  },
  {
    "order_id": "001044",
    "customer": "Ecrin Doğan",
    "city": "Adana",
    "product": "Notebook A5",
    "quantity": "5",
    "unit_price": "141.31",
    "order_date": "2026-04-09",
    "status": "pending"
  },
  {
    "order_id": "001045",
    "customer": "Azra Demir",
    "city": "Eskişehir",
    "product": "Desk lamp",
    "quantity": "9",
    "unit_price": "",
    "order_date": "2026-05-16",
    "status": "shipped"
  },
  {
    "order_id": "001046",
    "customer": "Yusuf Aydın",
    "city": "İzmir",
    "product": "Coffee beans 1kg",
    "quantity": "2",
    "unit_price": "87.81",
    "order_date": "2026-06-23",
    "status": "shipped"
  },
  {
    "order_id": "001047",
    "customer": " Ömer Aydın ",
    "city": "İzmir",
    "product": "Chair, ergonomic",
    "quantity": "8",
    "unit_price": "80.58",
    "order_date": "2026-07-17",
    "status": "shipped"
  },
  {
    "order_id": "001048",
    "customer": "Mustafa Arslan",
    "city": "Eskişehir",
    "product": "Chair, ergonomic",
    "quantity": "4",
    "unit_price": "127.60",
    "order_date": "2026-08-21",
    "status": "shipped"
  },
  {
    "order_id": "001049",
    "customer": "Kerem Demir",
    "city": "İzmir",
    "product": "Monitor 27\"",
    "quantity": "7",
    "unit_price": "223.28",
    "order_date": "2026-09-08",
    "status": "paid"
  },
  {
    "order_id": "001050",
    "customer": "Asel Doğan",
    "city": "Ankara",
    "product": "Desk lamp",
    "quantity": "5",
    "unit_price": "244.39",
    "order_date": "2026-01-21",
    "status": "shipped"
  },
  {
    "order_id": "001051",
    "customer": "Asel Özdemir",
    "city": "Antalya",
    "product": "Desk lamp",
    "quantity": "7",
    "unit_price": "213.46",
    "order_date": "2026-02-08",
    "status": "refunded"
  },
  {
    "order_id": "001052",
    "customer": "Ömer Kaya",
    "city": "Antalya",
    "product": "Coffee beans 1kg",
    "quantity": "9",
    "unit_price": "118.00",
    "order_date": "2026-03-16",
    "status": "refunded"
  },
  {
    "order_id": "001053",
    "customer": "Ömer Aydın",
    "city": "Bursa",
    "product": "Coffee beans 1kg",
    "quantity": "2",
    "unit_price": "121.81",
    "order_date": "2026-04-13",
    "status": "refunded"
  },
  {
    "order_id": "001054",
    "customer": "Zeynep Yıldırım",
    "city": "Adana",
    "product": "USB-C cable",
    "quantity": "7",
    "unit_price": "184.52",
    "order_date": "2026-05-26",
    "status": "paid"
  },
  {
    "order_id": "001043",
    "customer": "Ömer Yıldırım",
    "city": "Adana",
    "product": "Desk lamp",
    "quantity": "8",
    "unit_price": "216.50",
    "order_date": "2026-03-20",
    "status": "shipped"
  }
]

15 satır · 1 dosya

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?

  1. Bir .csv, .tsv veya .txt dosyası 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.
  2. JSON yapısı seçin. Önizleme, indirilecek çıktının birebir aynısının ilk 200 satırını gösterir.
  3. 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 tutHer hücre, dosyada yazıldığı gibi bir JSON metni (string) olur. Varsayılan budur.
Sayıları ve true/false değerlerini algılaBir 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ştiruser.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ş_no gibi Türkçe karakterli adlar da değişmez. Boş bir başlık Column 3, yinelenen bir başlık name (2) olur; böylece hiçbir değerin üzerine yazılmaz.
  • __proto__ veya constructor gibi 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 0012 değerini 12 yapmaz 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 kg ya 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.

CSV
sku,name,price,in_stock
00731,"Desk lamp, brass",34.90,true
00732,Cable tidy,4.50,false
JSON
[
  {
    "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.

Standartlar ve kaynaklar