Dari respons API ke spreadsheet
JSON adalah format asli API web, tetapi orang yang membutuhkan datanya sering bekerja di spreadsheet. Kasus umum: daftar pesanan yang ditarik dari API toko online dan diminta bagian akuntansi dalam Excel, record pengguna yang diekspor dari database NoSQL untuk pivot table cepat, event analitik yang ingin difilter di Google Sheets, atau sekumpulan record untuk diimpor massal ke CRM yang hanya menerima unggahan CSV. File CSV juga merupakan format yang paling mudah dibandingkan, diurutkan, dan di-grep di command line.
Alat ini menerima array objek dan menghasilkan satu baris per objek dan satu kolom per field, dengan baris header di atasnya. Penghitung di bawah input menunjukkan berapa baris yang dihasilkan, sebagai pengecekan cepat terhadap jumlah record yang Anda harapkan.
Bagaimana tabel dibangun
Baris dan kolom diturunkan dari data itu sendiri, tanpa perlu skema:
- Kolom adalah gabungan semua kunci, sesuai urutan pertama kali muncul. Jika record pertama punya
iddanname, dan record kesepuluh juga punyaemail, header diakhiri denganemaildan sembilan baris pertama membiarkan sel itu kosong. - Objek bersarang diratakan dengan titik, jadi
{"customer": {"address": {"city": "Lyon"}}}menghasilkan kolomcustomer.address.city. Kedalaman berapa pun bisa. - Satu objek tunggal alih-alih array diperlakukan sebagai tabel satu baris.
- Nilai polos di dalam array, seperti
[1, 2, 3]atau daftar string, masuk ke satu kolom bernamavalue. nullmenjadi sel kosong, dan boolean ditulis sebagaitruedanfalse.
Objek bersarang yang kosong seperti "meta": {} tidak punya field untuk diratakan, jadi tidak menghasilkan kolom sama sekali.
Array di dalam record
Spreadsheet tidak mengenal konsep daftar di dalam sel, jadi array seperti "tags": ["red", "sale"] ditulis sebagai teks JSON-nya, ["red","sale"], dalam satu sel. Dengan begitu data tidak ada yang hilang: Anda bisa mengurainya kembali nanti atau memecahnya dengan rumus spreadsheet.
Jika yang benar-benar Anda butuhkan adalah satu baris per elemen array, misalnya satu baris per item pesanan alih-alih per pesanan, ubah dulu bentuk datanya. Di sebagian besar bahasa skrip, itu cukup satu baris map atas record induk, dengan menyalin ID induk ke setiap anaknya. Memasukkan array yang sudah diubah bentuknya ke konverter lalu memberi hasil tabular yang bersih sepenuhnya.
Tanda kutip dan pemisah
Sebuah sel hanya diapit tanda kutip ganda jika memang perlu: jika berisi pemisah, tanda kutip ganda, atau baris baru. Tanda kutip di dalam nilai digandakan, sesuai ketentuan RFC 4180, jadi 6" pipe ditulis sebagai "6"" pipe". Semua nilai lain ditulis polos, yang membuat file tetap kecil dan mudah dibaca.
Pemisah paling penting saat file dibuka dengan klik ganda di Excel:
- Koma adalah default untuk Google Sheets, LibreOffice, database, modul
csvdi Python, dan hampir semua alat impor. - Titik koma adalah yang diharapkan Excel jika Windows diatur ke lokal yang memakai koma sebagai pemisah desimal, termasuk Indonesia, sebagian besar Eropa daratan, dan Amerika Latin. Dengan file berpemisah koma di lokal seperti itu, setiap baris masuk ke kolom A.
Jika ragu, gunakan koma dan buka file lewat impor Data, From Text/CSV di Excel, yang memungkinkan Anda memilih pemisah secara eksplisit.
Memasukkannya ke Excel dengan rapi
Beberapa masalah muncul setelah konversi, di dalam spreadsheet, dan mudah dicegah:
- Huruf beraksen berubah menjadi simbol. File berformat UTF-8 tanpa byte order mark, dan beberapa versi Excel menebak encoding lama saat file dibuka dengan klik ganda. Gunakan impor From Text/CSV dan pilih UTF-8, atau buka file di Google Sheets.
- Nol di depan dan ID panjang rusak. Excel mengubah
00042menjadi42dan mengubah angka 16 digit atau lebih menjadi notasi ilmiah. Di dialog impor, atur kolom-kolom itu sebagai Text. - Format tanggal berubah. String ISO seperti
2026-03-01T10:00:00Zbisa ditafsirkan sebagian. Impor kolom itu sebagai Text jika Anda butuh nilai aslinya.
Perlu diketahui bahwa angka di atas 9.007.199.254.740.991 sudah kehilangan presisi saat JSON diurai di browser, jadi simpan ID yang sangat besar sebagai string di JSON sumber jika harus tetap persis.
Memeriksa input lebih dulu
Jika konverter melaporkan JSON tidak valid, tempel data ke formatter JSON, yang menunjukkan baris dan kolom persis letak masalahnya. Data dari file log sering berformat JSON Lines, satu objek per baris tanpa kurung pembungkus; bungkus dengan [ dan ] dan tambahkan koma di antara baris agar menjadi array yang valid. Konversi sebaliknya tersedia sebagai CSV ke JSON. Semua pemrosesan terjadi di halaman, jadi tidak ada yang Anda tempel dikirim ke mana pun.