CSV vs XML vs JSON – Manakah Format Data Tanggapan Terbaik?

[ad_1]

Apakah Anda sedang membangun klien tipis (aplikasi web) atau klien tebal (aplikasi client-server) di beberapa titik Anda mungkin membuat permintaan ke server web dan memerlukan format data yang baik untuk respons. Sampai hari ini, ada tiga format data utama yang digunakan untuk mentransmisikan data dari server web ke klien: CSV, XML, dan JSON. Untuk mengembangkan aplikasi dengan arsitektur yang solid, ada baiknya untuk memahami perbedaan antara setiap format dan tahu kapan menggunakannya. Tujuan dari posting ini adalah untuk mendefinisikan setiap format data, menetapkan pro dan kontra untuk masing-masing, dan menemukan situasi mana yang paling sesuai dengan masing-masing format.

CSV

CSV adalah singkatan dari "comma separated values". Seperti namanya, format data ini pada dasarnya adalah daftar elemen yang dipisahkan oleh koma. Katakanlah bahwa tanggapan Anda mengirim kembali daftar orang-orang dalam keluarga tertentu. Formatnya akan terlihat seperti ini:

Eric, Andrea, Kusco

Kelebihan – Format ini adalah yang paling ringkas dari ketiga format. Secara umum, format CSV sekitar setengah ukuran format XML dan JSON. Ini adalah keunggulan utama CSV karena dapat membantu mengurangi bandwidth

Kontra – Format ini adalah yang paling serbaguna dari ketiga format tersebut. Ini karena parser buatan sendiri diperlukan untuk mengonversi data CSV menjadi struktur data asli. Akibatnya, jika struktur data berubah, ada biaya tambahan terkait harus mengubah atau bahkan mendesain ulang parser Anda. Lebih jauh lagi, karena program yang membuat CSV dan program parsing CSV berada pada mesin yang berbeda (ingat bahwa kita melewatkan data dari satu mesin ke mesin lainnya) maka kedua program harus diperbarui secara bersamaan untuk mencegah program penerima crash. Jika tidak, pemadaman diperlukan untuk memperbarui kedua program secara individual untuk mencegah masalah ketidaksesuaian.

Akhirnya, CSV tidak benar-benar mendukung hirarki data. Bagaimana jika Anda ingin mengirim kembali atribut untuk setiap orang di setiap keluarga? Anda kemudian harus mendesain parser kompleks yang tahu bagian mana dari CSV yang mengacu pada elemen keluarga, dan bagian mana yang mengacu pada elemen setiap orang. Salah satu cara untuk mengatasi masalah ini adalah dengan menggunakan pembatas lain seperti ";" untuk memisahkan atribut setiap orang:

Eric, pria, 26, Andrea, wanita, 26, Kusco, pria, 8

Masalah dengan membuat format yang disesuaikan, bagaimanapun, adalah bahwa Anda dikenakan biaya tambahan untuk menjaga parser yang lebih kompleks.

XML

XML adalah singkatan dari "extensible markup language". XML dirancang pada tahun 1996 dan secara resmi menjadi standar W3C pada tahun 1998. Ia diciptakan untuk lebih mewakili format data dengan struktur hirarkis. Formatnya seperti ini:

<person> <name></p><p>Eric<br /> </name><br /> <age></p><p>26<br /> </age> </person> <person> <name></p><p>Andrea<br /> </name><br /> <age></p><p>26<br /> </age> </person> <person> <name></p><p>Kusco<br /> </name><br /> <age></p><p>8<br /> </age> </person>

Kelebihan – Format data ini sepenuhnya mendukung struktur data hierarkis dan sangat tepat ketika menerima data kompleks sebagai respons. Ini juga sangat bisa dibaca manusia. Sebagian besar browser telah dibangun di pembaca XML yang memungkinkan Anda untuk memeriksa file XML. Karena XML adalah format data hirarkis standar pertama, sebagian besar API telah membangun fungsionalitas untuk secara otomatis mengkonversi aliran data XML ke struktur data asli seperti objek.

Kontra – Format data ini sekitar tiga kali lebih besar dari CSV. Ini karena setiap elemen data memiliki tag parameter buka dan tutup yang terkait.

JSON

JSON adalah singkatan (Javascript Object Notation). Ini ditemukan pada tahun 2001 dan dipopulerkan oleh Yahoo dan Google pada tahun 2005 dan 2006. Ini dibuat sebagai alternatif untuk XML. Seperti XML, bagaimanapun, ini mewakili data hierarkis dengan penggunaan koma, kurung kurawal dan tanda kurung. Contoh JSON terlihat seperti ini:

{"name": "Eric", "age": "26"},

{"name": "Andrea", "age": "26"},

{"name": "Kusco", "age": "8"}

Kelebihan – Format data ini mendukung data hierarkis sementara ukurannya lebih kecil daripada XML. Seperti namanya, itu juga dibuat untuk lebih mudah menguraikan data ke objek Javascript asli, membuatnya sangat berguna untuk aplikasi web. JSON adalah yang terbaik dari kedua dunia sehubungan dengan CSV dan XML. Ini sederhana dan kompak seperti CSV, tetapi mendukung data hierarkis seperti XML. Tidak seperti XML, format JSON hanya sekitar dua kali lebih besar dari format CSV.

Kontra – Format data ini memiliki sedikit dukungan kurang dari XML. Karena JSON relatif lebih baru daripada XML, lebih sedikit API yang ada untuk secara otomatis mengonversi JSON ke struktur data asli. Namun, ini berubah dengan cepat karena API dan plugin yang lebih baru mendukung XML dan JSON.

Kesimpulan

Sebagai aturan umum, JSON adalah format pertukaran data terbaik hingga saat ini. Beratnya ringan, kompak, dan serbaguna. CSV hanya boleh digunakan jika Anda mengirim data dalam jumlah besar dan jika bandwidth adalah masalah. Saat ini, XML tidak boleh digunakan sebagai format pertukaran data karena lebih cocok untuk markup dokumen.

[ad_2]