No image available

CSV versus XML versus JSON – format apa yang terbaik untuk data respons?

Baik Anda membangun thin client (aplikasi web) atau klien tebal (aplikasi client-server) dan pada titik tertentu Anda mungkin membuat permintaan ke server web dan Anda memerlukan format data yang bagus untuk jawaban. Mulai hari ini, tiga format data penting digunakan untuk mengirim 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 mengetahui kapan menggunakannya. Tujuan dari posting ini adalah untuk mendefinisikan setiap format data, menentukan pro dan kontra untuk masing-masing dan menemukan situasi mana yang paling sesuai dengan masing-masing format.

CSV

CSV adalah singkatan dari "nilai dipisahkan oleh koma". Seperti namanya, format data ini sebenarnya adalah daftar elemen yang dipisahkan oleh koma. Katakanlah reaksi Anda mengembalikan daftar orang-orang dalam keluarga tertentu. Formatnya adalah sebagai berikut:

Eric, Andrea, Kusco

Pros – Format ini adalah yang paling ringkas dari ketiga format. Secara umum, format CSV berukuran sekitar setengah ukuran format XML dan JSON. Ini adalah keuntungan besar CSV karena dapat membantu mengurangi bandwidth

Kontra – Format ini adalah yang paling serbaguna dari ketiga format. Ini karena parser buatan diperlukan untuk mengkonversi data CSV ke dalam struktur datanya sendiri. Akibatnya, jika struktur data berubah, ada overhead yang terkait harus memodifikasi atau bahkan mendesain ulang parser Anda. Karena program CSV dan program yang membedah CSV berada di mesin yang berbeda (ingat bahwa kita melewatkan data dari satu komputer ke komputer lain), kedua program perlu diperbarui pada saat yang sama untuk mencegah program penerima crash. Jika tidak, kegagalan diperlukan untuk memperbarui kedua program secara individual untuk menghindari 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 merujuk ke elemen keluarga dan bagian mana yang mengacu pada elemen setiap orang. Salah satu cara untuk mengatasi masalah ini adalah dengan menggunakan pembatas yang berbeda seperti ";" untuk memisahkan atribut masing-masing orang:

Eric; pria; 26, Andrea; perempuan; 26, Kusco; laki-laki; 8

Namun, masalah dengan membuat format kustom adalah Anda menjalankan overhead untuk tetap menjalankan parser yang lebih kompleks.

XML

XML adalah singkatan dari "bahasa markup yang dapat diperluas". XML dirancang pada tahun 1996 dan secara resmi menjadi standar W3C pada tahun 1998. Ia diciptakan untuk lebih mencerminkan format data dengan struktur hirarkis. Formatnya adalah sebagai berikut:

<person> <name><br /> eric<br /> </name><br /> <age><br /> 26<br /> </age> </person> <person> <name><br /> Andrea<br /> </name><br /> <age><br /> 26<br /> </age> </person> <person> <name><br /> Kusco<br /> </name><br /> <age><br /> 8<br /> </age> </person>

Pro & # 39; s – Format data ini sepenuhnya mendukung struktur data hierarkis dan sangat cocok untuk menerima data kompleks sebagai respons. Ini juga sangat mudah dibaca orang. Sebagian besar browser memiliki pembaca XML internal yang memungkinkan Anda untuk memeriksa file XML. Karena XML adalah format data hirarkis standar pertama, sebagian besar API memiliki fungsi bawaan untuk secara otomatis mengkonversi aliran data XML ke struktur data asli seperti objek.

Kekurangan: 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 bantuan koma, kurung kurawal. Contoh JSON terlihat seperti ini:

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

{"nama": "Andrea", "usia": "26"},

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

Pro & # 39; s – Format data ini mendukung data hierarkis dengan ukuran yang lebih kecil dari XML. Seperti namanya, itu juga telah dibuat untuk membuatnya lebih mudah untuk menguraikan data menjadi objek Javascript asli, membuatnya sangat berguna untuk aplikasi web. JSON adalah yang terbaik dari kedua dunia terkait 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.

Kekurangan: format data ini memiliki sedikit dukungan daripada XML. Karena JSON relatif lebih baru daripada XML, ada lebih sedikit API untuk secara otomatis mengonversi JSON ke struktur data asli. Ini berubah dengan cepat, karena API dan plug-in yang lebih baru mendukung XML dan JSON.

Kesimpulan

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



Source by Eric D Rowell