Berjalan di perangkat Anda · File Anda tidak pernah meninggalkan perangkat.
Taruh file .json atau tempel JSON langsung dari respons API dan dapatkan CSV yang bisa dibuka di Excel, Google Sheets, atau layar impor mana pun. Daftar di tingkat atas memberi satu baris per item; kalau tidak, dipakai daftar rekaman terpanjang di dalam dokumen, jadi {"results": [...], "count": 2} memberi satu baris per item di results; objek yang tidak berisi daftar menjadi satu baris.
Aturannya tetap supaya hasilnya bisa ditebak: objek bersarang jadi kolom bertitik (alamat.kota), daftar nilai biasa disambung dengan titik koma dalam satu sel, dan daftar objek di dalam satu rekaman mendapat kolom bernomor (items.0.nama). Baris header adalah gabungan semua kunci yang ditemukan, sesuai urutan kemunculan pertama, jadi rekaman yang kekurangan kolom cukup meninggalkan sel kosong.
CSV ditulis mengikuti RFC 4180 (kolom yang berisi koma, tanda kutip, atau baris baru diberi tanda kutip dengan benar), dalam UTF-8 dengan BOM opsional supaya Excel menampilkan setiap aksara, huruf beraksen, dan simbol dengan benar. Sel yang diawali =, +, - atau @ diberi apostrof di depannya, supaya spreadsheet menampilkannya sebagai teks, bukan menjalankannya sebagai rumus. Anda melihat 200 baris pertama sebelum mengunduh, dan tidak ada yang meninggalkan perangkat Anda.
Tidak cocok untuk: Satu objek yang bersarang dalam tanpa daftar di dalamnya: tetap dikonversi, tetapi jadi satu baris yang sangat lebar, bukan tabel.
Daftar di tingkat atas langsung menjadi baris. Kalau tidak ada, alat ini menelusuri dokumen sampai delapan tingkat ke dalam untuk mencari daftar objek yang terpanjang. Jadi {"response": {"data": {"items": [...]}}} maupun {"results": [...], "count": 2, "next": null} sama-sama memberi satu baris per item, dan baris di bawah hasil menyebutkan daftar yang dipakai, misalnya results. Nilai di samping daftar itu, seperti count dan next, bukan bagian dari rekaman mana pun dan dilewati.
Dari dua daftar yang sama panjang, yang lebih dekat ke atas yang menang. Untuk daftar yang lebih pendek, salin daftarnya dari [ sampai ] dan tempel bagian itu saja. Dokumen yang tidak berisi daftar objek menjadi satu baris, dan pembungkus yang hanya punya satu kunci dilewati, jadi {"order": {"id": 7, "total": 12}} memberi kolom id dan total.
Teks disalin persis, termasuk tanggal, yang tetap dalam bentuk apa pun yang dimiliki JSON, misalnya 2024-01-05T10:00:00Z. true dan false ditulis sebagai kata. null, daftar kosong, dan objek kosong semuanya menjadi sel kosong, jadi di CSV ketiganya tampak sama dengan field yang tidak ada.
Angka ditulis persis seperti di JSON: 1.0 tetap 1.0, 1e21 tetap 1e21, dan ID seperti 12345678901234567890 mempertahankan semua digitnya walaupun tanpa tanda kutip. Pembaca JSON biasa akan mengubah ID itu menjadi 12345678901234567000.
Daftar berisi daftar dibuka satu tingkat: "m": [[1, 2], [3]] memberi kolom m.0 berisi 1;2 dan kolom m.1 berisi 3. Daftar yang mencampur objek dan nilai biasa memberi nomor pada setiap isinya, jadi "x": [{"z": 1}, 2] memberi x.0.z dan x.1.
Nama kolom dibuat dengan menyambung kunci memakai titik, jadi kunci yang sudah berisi titik bisa bertabrakan dengan kunci bersarang: {"a.b": 1, "a": {"b": 2}} akan menghasilkan a.b dua kali. Yang kedua diberi akhiran, jadi kolomnya a.b dan a.b_2, dan kedua nilainya tetap ada.
Koma adalah pilihan yang umum. Titik koma cocok untuk spreadsheet dengan pengaturan bahasa yang menulis desimal dengan koma, seperti Indonesia, karena di sana file berpemisah koma sering terbuka dalam satu kolom saja. Tab dan garis tegak untuk sistem yang memintanya. Apa pun pemisahnya, nama filenya tetap .csv.
Sel yang diawali =, +, - atau @ dianggap rumus oleh spreadsheet, yang akan menjalankannya saat file dibuka. Sel seperti itu diberi apostrof di depannya, tanda yang dipakai spreadsheet sendiri untuk „ini teks“, jadi =1+1 ditulis sebagai '=1+1. Angka biasa seperti -5 atau +3.5 dibiarkan apa adanya.
Lainnya di Lembar kerja dan data
Halaman ini dalam bahasa lain: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · বাংলা