Ubah tabel spreadsheet menjadi array objek JSON yang dikunci oleh baris header
Alat dimuat di sini. Perlu JavaScript, karena pekerjaan terjadi pada perangkat Anda.
File Anda dan privasi Anda
Tabel dikonversi di dalam tab browser ini dan JSON dibuat sendiri
perangkat. Tidak ada titik akhir pengunggahan. Kode alat tidak membuat permintaan untuk membawa file,
teks yang ditempel atau keluaran yang dihasilkan. Permintaan skrip analitik yang diungkapkan bersifat terpisah dan terpisah
dijelaskan dalam Kebijakan Privasi situs.
Apa yang dilakukan alat ini
Ubah tabel CSV menjadi JSON: satu objek per baris data, dikunci berdasarkan nama header, ditulis
sebagai array tingkat atas. Nama header kosong menjadi kunci posisi dan nama berulang menjadi kunci posisi
diakhiri daripada menimpa satu sama lain. Konversi juga berjalan sebaliknya.
Konversi mengubah setiap baris data menjadi satu objek JSON, menggunakan baris header untuk kuncinya,
dan menulis tabel sebagai array tingkat atas yang diindentasi dengan dua spasi. Sel header kosong
menjadi kunci posisi seperti kolom_3, dan nama yang muncul dua kali memerlukan angka
akhiran sehingga kolom kedua menyimpan datanya alih-alih menimpa kolom pertama. Setiap nilai
ditulis sebagai string, karena file CSV tidak membawa informasi tipe untuk dikonversi.
Bagaimana cara menggunakannya
Pilih Pilih file CSV atau JSON dan muat tabel Anda, atau tempelkan baris langsung ke dalamnya.
Periksa apakah baris pertama benar-benar adalah header: namanya menjadi kunci persis seperti itu
tulisan, termasuk spasi dan huruf kapital.
Tangani peringatan baris tidak beraturan terlebih dahulu, karena sel di luar kolom header terakhir memilikinya
tidak ada kunci dan tidak mencapai JSON.
Pilih Unduh JSON, atau Salin JSON untuk menempelkannya di tempat lain. Unduh CSV juga ada di sana
ketika Anda hanya ingin meja dirapikan.
Contoh kasus penggunaan
Memuat spreadsheet perlengkapan pengujian ke dalam skrip yang mengharapkan serangkaian objek.
Mengubah produk atau daftar harga yang diekspor menjadi file JSON untuk pembuatan situs statis.
Meratakan respons JSON API yang disimpan ke dalam tabel yang dapat Anda buka di spreadsheet.
Masukan dan keluaran yang didukung
Menerima
CSV, TSV atau teks biasa dengan baris header, hingga 50 MB
JSON berisi larik objek tingkat atas, untuk arah sebaliknya
Menghasilkan
JSON, array objek tingkat atas dengan nilai string, menjorok dua spasi
CSV, UTF-8 dengan akhiran CRLF, saat mengonversi JSON ke tabel
Apa yang tidak bisa dilakukan alat ini
Setiap nilai ditulis sebagai string. Angka 42 menjadi teks 42 dan true menjadi
teksnya benar; tidak ada inferensi tipe dan tidak ada pilihan untuk itu.
Sel kosong menjadi string kosong, tidak pernah null, jadi kode yang menyediakan kapan default
nilai nol tidak akan menyediakannya di sini.
Sel di luar lebar header tidak memiliki kunci dan akan dibuang. Mereka dilaporkan compang-camping
baris yang sedang dimuat, dan itu adalah peringatan untuk ditindaklanjuti.
Baris pertama selalu berupa header, jadi file tanpa header menyumbangkan rekaman pertamanya ke
nama-nama kunci.
Outputnya adalah array datar dari objek datar: header seperti user.name tetap berupa literal
kunci dengan titik di dalamnya, dan nama yang diulang mendapatkan _2 dan _3.
Kesalahan umum
Mengumpankan output ke kode yang mengharapkan angka. Menambahkan serangkaian angka digabungkan
itu atau menghasilkan NaN daripada memunculkan kesalahan, sehingga bug muncul jauh dari
konversi.
Mengharapkan opsi formula-injeksi yang aman diterapkan di sini. Itu milik penulis CSV,
jadi nilai yang diawali dengan tanda sama dengan mencapai JSON tidak berubah dan merupakan rumus
lagi jika JSON tersebut ditulis kembali sebagai CSV.
Mengonversi file yang melaporkan baris tidak teratur dan mengasumsikan setiap sel tiba: tambahan
sel ditampilkan di pratinjau tetapi tidak pernah mencapai JSON.
Dengan asumsi kolom header yang diduplikasi menimpa kolom pertama. Diganti namanya, jadi datanya
terletak di bawah kunci yang tidak dibaca oleh siapa pun.
Catatan teknis
Penguraian CSV berjalan di Web Worker menggunakan mesin status RFC 4180 tulisan tangan, demikian dikutip
pembatas dan baris baru di dalam kolom yang dikutip diselesaikan sebelum konversi dimulai. Kunci
dihitung satu kali dari header dan setiap baris dipetakan berdasarkan posisi, sehingga ada sel yang hilang
menjadi string kosong dan bukan kunci yang tidak ada dan setiap objek membawa kunci yang sama
mengatur. Arah sebaliknya membangun kolom dari gabungan kunci di semua objek di
pesanan yang pertama kali dilihat.
Pertanyaan yang sering diajukan
Apakah angka diubah menjadi angka JSON?
Tidak. Setiap nilai ditulis sebagai string, karena file CSV tidak memiliki informasi tipe dan
tebakannya adalah bagaimana konverter mengubah kode produk seperti 0012 menjadi nomor 12. Keluarkan
nilai dalam apa pun yang membaca JSON.
Apa yang terjadi pada kolom tanpa nama header?
Ia mendapat kunci berdasarkan nomor kolomnya, sehingga menjadi kolom ketiga dengan header kosong
kolom_3. Data disimpan dan hanya namanya yang ditemukan, jadi ganti nama kolomnya terlebih dahulu jika
Anda menginginkan kunci yang sebenarnya.
Bisakah saya mengonversi JSON kembali ke CSV?
Ya. Muat file .json yang berisi array objek tingkat atas dan itu menjadi tabel.
Kolom adalah gabungan kunci di setiap objek dalam urutan pertama kali dilihat, dan bertingkat
nilai ditulis ke dalam sel sebagai teks JSON.