Teks dan kode / Panduan

JSON, CSV, YAML atau JSON Lines: memilih format data

Konversi format berguna jika aplikasi penerima tetap memahami nama kolom, tipe nilai, susunan data, dan batas setiap rekaman.

Pilih dengan bentuk data

JSON mewakili array, objek, string, angka, boolean dan null secara eksplisit. Ini adalah format pertukaran alami untuk data API bersarang dan pengaturan yang dibaca oleh program. CSV adalah tabel: setiap rekaman memiliki bidang dalam urutan kolom yang sama. Ini mudah untuk baris sederhana dan impor spreadsheet, tetapi sel CSV tidak secara inheren mengatakan apakah 0012 adalah identifikator, angka atau teks. YAML sering dipilih untuk konfigurasi yang orang-orang edit karena menawarkan pemetaan, urutan dan indentasi yang dapat dibaca; aturan pembacaannya masih memerlukan perawatan. JSON Lines menyimpan satu nilai JSON lengkap per baris, membuat aliran rekaman lebih mudah untuk ditambahkan atau diproses secara independen. Pilih bentuk yang diharapkan oleh perangkat lunak penerima daripada ekstensi yang terlihat paling akrab.

Contoh kecil di seluruh format

Misalnya, array JSON adalah [{"id":1,"city":"Paris"},{"id":2,"city":"Lima"}]. Sebuah ekspor CSV yang sederhana memiliki id header,city diikuti oleh baris 1,Paris dan 2,Lima. Sebuah YAML rendering dapat menunjukkan urutan dari dua pemetaan, masing-masing dengan id dan kota. Dalam JSON Lines, baris pertama adalah {"id":1,"city":"Paris"} dan yang kedua adalah {"id":2,"city":"Lima"}; tidak ada array luar. Konverter terhubung memungkinkan Anda untuk memeriksa representasi ini secara langsung. Perhatikan apa yang terjadi ketika kota berisi koma, tanda kutip atau pembagian baris: CSV kemudian memerlukan kutipan dan escape sesuai dengan dialek pembaca. Contoh singkat menyembunyikan kompleksitas itu, jadi uji nilai realistis sebelum mengekspor set data yang besar.

Dua rekaman yang sama disusun untuk pembaca yang berbeda.
  1. JSON: array objek dengan tipe data
  2. CSV: judul kolom dan baris datar · YAML: pemetaan berindentasi
  3. JSON Lines: satu objek JSON per baris

Jenis dan struktur bersarang memerlukan keputusan

Sebuah objek JSON dapat berisi objek lain atau sebuah array. Baris CSV datar konvensional tidak dapat mengekspresikan struktur tersebut tanpa pemetaan yang disepakati, seperti kolom terpisah, sel JSON serial atau beberapa tabel. Alat konversi harus memilih kebijakan; memeriksa outputnya daripada mengasumsikan bahwa tidak ada informasi yang hilang. Nomor dan boolean dapat menjadi teks sel dalam CSV, sementara membacanya kembali mungkin memerlukan konversi tipe eksplisit. Nol pertama dalam identifikator akun adalah signifikan bahkan jika spreadsheet ingin memperlakukannya sebagai angka. YAML dapat mengekspresikan model data yang sama luasnya dengan JSON, tetapi nilai skalar tanpa tanda kutip dan indentasi layak untuk ditinjau ketika parser lain membaca file. JSON Lines mempertahankan jenis JSON dalam setiap rekaman, namun setiap baris fisik harus berisi satu nilai JSON yang valid.

Uji perjalanan pulang-pergi dengan rekaman perwakilan

Sebelum mengonversi berkas penuh, buat contoh yang berisi baris normal, medan kosong, medan kutipan, koma, karakter non-ASCII dan nilai bersarang jika data Anda memiliki satu. Konversi, lalu konversi kembali ke tempat alat terbalik ada. Bandingkan struktur dan tipe, bukan hanya teks yang terlihat. Periksa nama kolom, jumlah rekaman, urutan dan apakah null berbeda dari string kosong. Untuk JSON Lines, pastikan bahwa rekaman dipisahkan oleh pemisah baris dan bahwa objek multiline yang dicetak cantik tidak salah untuk beberapa rekaman. Konverter JSON-to-CSV tertanam di bawah ini dimulai dengan dua catatan sederhana; mengubah nilai dan memeriksa keluaran. Gunakan konverter terhubung lainnya untuk menguji YAML dan jalur yang dibatasi garis.

Sesuai dengan tujuan dan lindungi impor

Untuk spreadsheet dari rekaman seragam, datar, CSV sering praktis; dokumen pemisah, encoding dan kolom jenis yang diharapkan oleh importir. Ketika nilai-nilai berasal dari orang-orang yang tidak dipercaya, spreadsheet dapat menafsirkan sel-sel yang dimulai dengan karakter formula sebagai formula, sehingga ekspor yang dimaksudkan untuk spreadsheet membutuhkan kebijakan keamanan terpisah. Untuk konfigurasi yang dikelola manusia, YAML dapat dibaca, tetapi validkan hasil dengan parser target yang sebenarnya. Untuk API atau dokumen terstruktur, JSON biasanya mengungkapkan jenis dan bersarang lebih jelas. Untuk log dan pipa data yang mengkonsumsi satu peristiwa pada satu waktu, JSON Lines dapat menghindari memuat satu array yang besar. Konversi sintaks yang sukses hanyalah periksa pertama; interpretasi program penerima adalah yang menentukan.

Coba konverter

Sunting contoh dua-rekaman JSON dan periksa tabel CSV yang dihasilkan.

Ubah array objek JSON datar menjadi baris CSV.

Buka konverter lengkap

Panduan lainnya

Panduan konversi

Jelajahi panduan