Cihazınızda çalışır · Dosyanız cihazınızdan asla çıkmaz.
Bir .json dosyası bırakın ya da API yanıtını doğrudan yapıştırın; Excel, Google E-Tablolar ya da herhangi bir içe aktarma ekranında açılan bir CSV alın. En üst düzeydeki liste her öğe için bir satır verir; öyle değilse belgedeki en uzun kayıt listesi kullanılır, yani {"results": [...], "count": 2} her sonuç için bir satır verir; içinde liste olmayan bir nesne tek satır olur.
Kurallar sabittir, sonuç öngörülebilir: iç içe nesneler nokta ile ayrılmış sütunlara açılır (adres.il), düz değerlerden oluşan bir liste tek hücrede noktalı virgülle birleştirilir, bir kaydın içindeki nesne listesi numaralı sütunlar alır (kalemler.0.ad). Başlık satırı bulunan tüm anahtarların birleşimidir, ilk görüldükleri sırayla; eksik alanı olan kayıtlar o hücreyi boş bırakır.
CSV, RFC 4180'e göre yazılır: virgül, tırnak ya da satır sonu içeren alanlar doğru şekilde tırnaklanır. UTF-8'dir ve isteğe bağlı BOM ile Excel Türkçe karakterleri ve ₺ gibi simgeleri doğru gösterir. =, +, - ya da @ ile başlayan bir hücrenin önüne kesme işareti konur; böylece elektronik tablo onu formül olarak çalıştırmaz, metin olarak gösterir. Sütun ayırıcı olarak Türkçe Excel'in beklediği noktalı virgülü de seçebilirsiniz. İndirmeden önce ilk 200 satırı görürsünüz; hiçbir şey cihazınızdan çıkmaz.
Şunlar için uygun değildir: İçinde liste olmayan, çok derin iç içe tek bir nesne: dönüşür, ama tablo yerine çok geniş tek bir satır olarak.
En üst düzeydeki liste satırları oluşturur. Öyle bir liste yoksa araç belgenin içinde, sekiz düzeye kadar derinlikte, en uzun nesne listesini arar. Böylece {"response": {"data": {"items": [...]}}} de {"results": [...], "count": 2, "next": null} de her öğe için bir satır verir ve sonucun altındaki satır kullanılan listenin adını söyler, örneğin results. count ve next gibi o listenin yanındaki değerler hiçbir kaydın parçası değildir ve dışarıda kalır.
Eşit uzunluktaki iki listeden en üste yakın olanı kazanır. Daha kısa bir listeyi istiyorsanız onu [ işaretinden ] işaretine kadar kopyalayıp yalnızca onu yapıştırın. Nesne listesi olmayan bir belge tek satır olur ve tek anahtarlı sarmalayıcılar atlanır; {"order": {"id": 7, "total": 12}} id ve total sütunlarını verir.
Metin birebir kopyalanır; tarihler de JSON’da hangi biçimdeyse o biçimde kalır, örneğin 2024-01-05T10:00:00Z. true ve false sözcük olarak yazılır. null, boş liste ve boş nesne, üçü de boş hücre olur; yani CSV’de hiç olmayan bir alanla aynı görünürler.
Sayı tam olarak JSON’daki gibi yazılır: 1.0 yine 1.0, 1e21 yine 1e21 olarak kalır ve 12345678901234567890 gibi bir kimlik numarası tırnaksız olsa bile her basamağını korur. Sıradan bir JSON okuyucu o numarayı 12345678901234567000’e çevirirdi.
Liste listesi bir düzey açılır: "m": [[1, 2], [3]] içinde 1;2 bulunan bir m.0 sütunu ve 3 bulunan bir m.1 sütunu verir. Nesnelerle düz değerleri karıştıran bir listede her öğe numaralanır; "x": [{"z": 1}, 2] x.0.z ve x.1 sütunlarını verir.
Sütun adları anahtarlar noktayla birleştirilerek oluşur; bu yüzden zaten nokta içeren bir anahtar iç içe bir anahtarla çakışabilir: {"a.b": 1, "a": {"b": 2}} iki kez a.b üretirdi. İkincisine bir ek verilir; sütunlar a.b ve a.b_2 olur ve iki değer de korunur.
Olağan seçim virgüldür. Noktalı virgül, ondalıkları virgülle yazan bir dile ayarlı elektronik tablolara uyar; orada virgülle ayrılmış bir dosya çoğu zaman tek sütunda açılır. Sekme ve dikey çizgi, bunları isteyen sistemler içindir. Ayırıcı ne olursa olsun dosyanın uzantısı .csv olur.
=, +, - ya da @ ile başlayan bir hücre elektronik tablo için bir formüldür ve dosya açılırken çalıştırılır. Böyle bir hücrenin önüne, elektronik tabloların kendilerinin “bu bir metindir” demek için kullandığı kesme işareti konur; =1+1 böylece '=1+1 olarak yazılır. -5 ya da +3.5 gibi düz sayılar olduğu gibi bırakılır.
Tablolar ve veriler içinde daha fazlası
Bu sayfa diğer dillerde: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা