Memproses Data JSON Pada C#

JSON adalah singkatan dari Javascript Object Notation, yaitu bentuk format data yang dipergunakan pada Javascript. JSON adalah pengganti dari XML (Extensible Markup Language). Dibandingkan dengan XML, JSON lebih singkat dan pembacaan oleh mesin menjadi lebih cepat.

JSON dan XML digunakan sebagai media pertukaran data pada web service. Web service memungkinkan berbagai perangkat dapat mengakses data dari server. Banyak web service saat ini beralih menggunakan JSON sebagai media pertukaran data.

Untuk memproses data JSON pada aplikasi yang dibuat menggunakan bahasa C#, anda dapat menggunakan library dari Newtonsoft. Dengan ini, anda dapat membaca data JSON dari teks maupun menghasilkan data JSON dari objek. Proses mengubah objek menjadi data JSON disebut Serialize, dan sebaliknya proses mengubah data JSON menjadi objek disebut Deserialize.

Proses Serialize
Contoh kode ini saya ambil dari official site Newtonsoft dan saya coba uji. Langkah awal adalah membuat sebuah kelas bernama Product.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Json
{
    class Product
    {
        public string Name { set; get; }
        public DateTime Expiry { set; get; }
        public string[] Sizes { set; get; }
    }
}

Setelah itu, di event handler Form_Load, tuliskan kode ini.
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
Console.WriteLine(json);

Setelah program dijalankan, maka dari konsol akan muncul output berikut ini.
{"Name":"Apple","Expiry":"\/Date(1230390000000+0900)\/","Sizes":["Small"]}

Proses Deserialize
Untuk melakukan deserialize, anda harus membuat objek yang datanya bersesuaian dengan data JSON yang akan diproses. Berikut adalah kode melakukan deserialize pada data JSON yang diambil dari data teks.
string json = @"{
   'Name': 'Bad Boys',
   'ReleaseDate': '1995-4-7T00:00:00',
   'Genres': [
      'Action',
      'Comedy'
   ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

Console.WriteLine(m.Name);
Console.WriteLine(m.ReleaseDate);
Console.WriteLine(m.Genres[0]);
Console.WriteLine(m.Genres[1]);

Sesuai dengan data JSON yang digunakan pada kode di atas, maka saya membuat kelas dengan kode seperti di bawah ini.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Json
{
    class Movie
    {
        public string Name { set; get; }
        public DateTime ReleaseDate { set; get; }
        public string[] Genres { set; get; }
    }
}

Setelah dijalankan, pada konsol muncul output seperti di bawah ini.
Bad Boys
07/04/1995 0:00:00
Action
Comedy

Ahmad Jawahir

    Tidak ada komentar:

    Posting Komentar