Apakah alat ini?
API dan pangkalan data biasanya mengembalikan data sebagai JSON, tetapi hamparan, Excel, Google Sheets dan kebanyakan alat import data menjangkakan CSV. Alat ini merapatkan jurang itu: tampal array objek JSON (seperti respons API), dan ia membina CSV dengan satu lajur bagi setiap kunci unik dan satu baris bagi setiap objek.
Penukaran ini mengendalikan perincian yang merosakkan pendekatan naif: nilai yang mengandungi koma atau petikan dikelola dengan betul, medan yang hilang menjadi sel kosong dan bukannya menyebabkan penukaran gagal, dan objek atau array bersarang dalam sesuatu medan disiri sebagai rentetan JSON dalam sel itu dan bukannya dibuang secara senyap.
Output mengikut peraturan petikan RFC 4180, piawaian de-facto CSV: mana-mana medan yang mengandungi koma, petikan berganda atau pemisah baris dibalut dalam petikan berganda, dan petikan di dalam medan digandakan. Itulah yang mengekalkan nilai seperti New York, NY dalam satu lajur dan bukannya secara senyap terbahagi kepada dua.
Kenapa guna alat ini?
- Pengesanan pengepala automatik — senarai lajur dibina daripada gabungan kunci merentasi semua objek, jadi rekod yang tidak konsisten tidak merosakkan output.
- Pengelolaan CSV yang betul — nilai dengan koma, petikan atau pemisah baris dikelola dengan betul, jadi fail dibuka dengan lancar dalam Excel atau Google Sheets.
- Mengendalikan data bersarang — objek atau array dalam sesuatu medan disiri kepada teks JSON dan bukannya menyebabkan ralat.
- Salin ke papan keratan atau muat turun sebagai fail .csv terus.
- 100% sisi klien — data anda (respons API, rekod dieksport) tidak pernah dimuat naik ke mana-mana.
Cara menggunakannya
- Tampal array objek JSON, cth. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Klik "Convert to CSV".
- Semak output — salin atau klik "Download CSV" untuk menyimpan fail.
- Buka fail yang dimuat turun dalam Excel, Google Sheets, atau mana-mana alat hamparan.
Contoh
Input
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Hasil
name,age,city
Alice,30,
Bob,,NYCPerhatikan bagaimana "city" dan "age" kedua-duanya menjadi lajur walaupun tiada satu objek pun yang mempunyai kedua-duanya — nilai yang hilang hanya dibiarkan kosong.
Tip praktikal
- Menukar respons API untuk laporan hamparan: tampal array JSON terus daripada tab Network pelayar atau alat ujian API, tukar, dan muat turun — tiada skrip perantaraan diperlukan.
- Bekerja dengan rekod tidak konsisten (cth. medan pilihan daripada eksport borang): pengesanan pengepala automatik bermakna anda tidak perlu menyelaraskan skema secara manual dahulu.
- Jika JSON anda adalah satu objek besar tunggal dengan array bersarang di dalamnya (cth. {"users": [...]}), ekstrak sahaja bahagian array (bahagian [...]) sebelum menampalnya di sini.
Kenapa susunan dan kelengkapan lajur penting
Pepijat CSV yang halus tetapi biasa berlaku apabila data dieksport dengan menulis tangan pengepala dahulu dan berharap setiap baris sepadan: jika baris ke-50 daripada 1000 mempunyai medan tambahan yang tiada pada baris sebelumnya, penulis CSV baris-demi-baris yang naif sama ada membuang medan itu secara senyap atau menganjakkan setiap lajur berikutnya keluar dari kedudukan. Alat ini mengelakkan kegagalan itu dengan mengimbas setiap objek dalam array dahulu untuk membina baris pengepala yang lengkap dan betul sebelum menulis satu baris output pun — jadi medan yang hanya muncul sekali, pada objek terakhir, tetap mendapat lajur sendiri dan nilai setiap baris lain untuknya betul dipaparkan sebagai kosong dan bukannya merosakkan struktur baris.
Soalan lazim
Adakah ini berfungsi dengan satu objek JSON tunggal dan bukannya array?
Ia menjangkakan array — balut objek tunggal dalam tanda kurung segi empat, cth. tukar {"name":"Alice"} kepada [{"name":"Alice"}], dan ia akan bertukar kepada CSV satu baris.
Apa yang berlaku kepada objek atau array bersarang dalam sesuatu medan?
Ia disiri sebagai rentetan JSON dalam sel itu (cth. medan yang mengandungi {"a":1} menjadi teks "{""a"":1}" dalam CSV, dikelola petikan dengan betul) dan bukannya menyebabkan ralat atau dibuang. Jika anda memerlukan data bersarang diratakan kepada lajur berasingan, itu memerlukan alat khusus skema yang berbeza.
Adakah data saya dimuat naik ke pelayan?
Tidak. Penukaran berjalan sebagai JavaScript sepenuhnya dalam pelayar anda — tiada apa dihantar ke mana-mana, yang menjadikan ini selamat digunakan dengan data pelanggan atau perniagaan yang dieksport.
Kenapa CSV saya ada sel kosong?
Jika sesetengah objek dalam array anda tiada kunci yang ada pada yang lain, lajur itu tetap wujud tetapi sel dibiarkan kosong untuk objek yang tiada kunci itu — ini mengekalkan semua data anda dan bukannya gagal atas rekod yang tidak konsisten.
Adakah nilai dengan koma akan merosakkan CSV?
Tidak. Mana-mana nilai yang mengandungi koma, aksara petikan, atau pemisah baris secara automatik dibalut dalam petikan (dengan petikan dalaman dikelola), jadi ia dibuka dengan betul dalam Excel dan Google Sheets.