Konversi JSON ke XML Java menggunakan Gson dan JAXB dengan Contoh
Apa itu JSON?
JSON adalah singkatan dari Javascript Object Notation, yang merupakan bentuk data yang mengikuti aturan tertentu bahwa sebagian besar bahasa pemrograman saat ini dapat dibaca. Kita dapat dengan mudah menyimpannya ke dalam file atau record di database. Format JSON menggunakan pasangan nilai kunci untuk mendeskripsikan data.
Dalam contoh berikut, kami mendefinisikan string JSON yang menyimpan informasi pribadi:
Jadi sintaks JSON sangat sederhana. Setiap informasi data akan memiliki dua bagian:kunci dan nilai yang sesuai dengan nama bidang dan nilainya dalam catatan tertentu. Namun jika dilihat lebih jauh, ada beberapa hal seperti ini:
String JSON diapit oleh kurung kurawal {}.
Kunci dan nilai JSON harus diapit dengan tanda kutip {“}.
Jika ada lebih banyak data (lebih banyak pasangan kunci => nilai), kami menggunakan koma (,) untuk memisahkan.
Kunci JSON harus berupa huruf atau angka tanpa tanda, _, dan tanpa spasi, karakter pertama tidak boleh disetel ke angka.
Dalam tutorial ini, Anda akan belajar-
Apa itu JSON?
Apa itu XML?
Apa itu Gson?
Apa itu JAXB?
Bagaimana cara mengonversi XML ke JSON?
Konversi pesan XML ke objek Java menggunakan JAXB
Mengonversi objek Java ke pesan JSON menggunakan Gson
Konversi pesan JSON ke objek Java menggunakan Gson
Mengonversi objek Java ke pesan XML menggunakan JAXB
Apa itu XML?
XML adalah singkatan dari eXtensible Markup Language juga disebut bahasa markup yang dapat diperluas yang diusulkan oleh World Wide Web Consortium (https://www.w3.org/) untuk membuat bahasa markup lainnya. Ini adalah subset sederhana yang dapat menjelaskan berbagai jenis data, sehingga sangat berguna dalam berbagi data antar sistem.
Tag dalam XML sering kali tidak ditentukan sebelumnya, tetapi dibuat sesuai dengan konvensi pengguna. XML memperkenalkan fitur baru berdasarkan keunggulan HTML.
Ada beberapa fitur pembuatan XML yang lebih berguna dalam beragam sistem dan solusi:
XML dapat diperluas:XML memungkinkan Anda membuat tag khusus sendiri agar sesuai dengan aplikasi Anda.
XML membawa data, bukan menampilkannya:XML memungkinkan Anda menyimpan data terlepas dari bagaimana data itu akan ditampilkan.
XML adalah standar umum:XML dikembangkan oleh World Wide Web Consortium (W3C) dan tersedia sebagai standar terbuka.
XML dibangun di atas struktur simpul bersarang. Setiap node akan memiliki tag pembuka dan tag penutup sebagai berikut:
<node>content</node>
Di mana:
adalah tag terbuka, nama tag ini ditentukan oleh Anda.
adalah tag tertutup, nama tag ini harus sama dengan nama tag terbuka.
konten adalah isi dari tag ini.
Di bagian atas setiap file XML, Anda harus mendeklarasikan tag untuk menunjukkan versi XML yang digunakan. Sintaks dari tag instruksi:
Gson (https://github.com/google/gson) adalah pustaka java yang memungkinkan pengguna untuk mengonversi dari objek Java ke string JSON dan juga mengonversi dari string JSON ke objek Java. Gson dapat bekerja dengan objek Java arbitrer termasuk objek yang sudah ada tanpa Anda memiliki kode sumbernya.
Sejak versi 1.6, Gson memperkenalkan dua kelas baru – JsonReader dan JsonWriter untuk menyediakan pemrosesan streaming pada data JSON.
JsonWriter – Streaming tulis ke JSON. Sintaks untuk implementasi umum adalah sebagai berikut. Kami membuat JsonWriter obyek. Untuk memulai dan menyelesaikan pembuatan string JSON, kami menggunakan fungsi beginObject() dan endObject(). Di tengah menjalankan dua fungsi ini, kami melakukan penulisan data dengan pasangan (kunci => nilai).
JsonWriter writer = new JsonWriter();
writer.beginObject();
writer.name("key").value("value");
writer.endObject();
JsonReader – Streaming membaca dari JSON. Sintaks untuk implementasi umum adalah sebagai berikut. Kami membuat objek JsonReader. Untuk memulai dan menyelesaikan pembuatan string JSON, kita menggunakan fungsi beginObject() dan endObject(). Di tengah menjalankan dua fungsi ini, kami melakukan pembacaan data dengan pasangan (kunci => nilai).
JsonReader reader = new JsonReader();
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("key")) {
String value = reader.nextString();
}
}
reader.endObject();
Pemrosesan streaming Gson cepat. Namun Anda perlu menangani setiap pasangan (kunci => nilai) dari pemrosesan data JSON.
Apa itu JAXB?
JAXB adalah singkatan dari Java Architecture for XML Binding, yang merupakan library yang menggunakan anotasi untuk mengonversi objek Java ke konten XML dan sebaliknya. Karena JAXB didefinisikan melalui spesifikasi, kita dapat menggunakan implementasi yang berbeda untuk standar ini.
Dengan JAXB, kami sering menggunakan anotasi dasar berikut, yaitu:
@XmlRootElement :Anotasi ini menentukan tag terluar dari file XML dan oleh karena itu dideklarasikan di atas kelas.
@XmlElementWrapper :Anotasi ini membuat elemen XML pembungkus di sekitar koleksi.
@XmlElement :Anotasi ini digunakan untuk menyatakan atribut objek adalah tag dari file XML.
@XmlAttribute :Anotasi ini juga digunakan untuk mendeklarasikan atribut objek sebagai tag dari file XML.
Sintaks untuk implementasi umum adalah sebagai berikut. Pertama, kita akan menginisialisasi JAXBContext objek dengan MyObject objek untuk dikonversi.