Apa itu JSON? JSON memiliki kepanjangan Javascript Object Notation. Istilah ini cukup populer di kalangan IoT hobbyist karena JSON srering digunakan untuk memparsing (menguraikan) data dari server ke client. Dalam hal ini server bisa berasal dari web server sedangkan clientnya adalah nodeMCU ESP8266 atau ESP32.
JSON merupakan format pertukaran data yang ringan dan sederhana, mudah bagi kita untuk membaca dan menuliskannya. Serta mudah bagi mesin untuk parsing (menguraikan) dan meghasilkannya (generate). JSON ini merupakan format text dengan Bahasa independen tapi menggunakan konvensi yang familiar terutama terhadap proigrammer yang sering menggunakan Bahasa keluarga C seperti C, C++, C#, Java, Python dan lain-lain. Sifat-sifat inilah yang membuat JSON menjadi Bahasa pertukaran data (data-interchange) yang ideal.
JSON terdiri dari dua struktur:
- Koleksi dari pasangan dari nama atau value, ini disebut sebagai objek
- Kumpulan nilai-nilai pada list, ini disebut sebagai array.
Objek
Objek merupakan set pasangan nama atau value yang tak tersusun. Sebuah objek dimulai dari tanda { dan diakhiri tanda }. Setiap nama diikuti oleh : (titik dua) dan pasangan nama/value dipisahkan oleh , (koma).
Contoh:
{ “nama” : “pauzan”, “usia” : 31 }
Berdasarkan sintaks di atas, jika kita menuliskan angka maka tidak perlu menambahkan tanda “ “. Sedangkan jika menuliskan string maka diperlukan tanda “ “.
Array
Array adalah kumpulan nilai-nilai yang tersusun, sebuah array dimulai dari [ dan diakhiri oleh ]. Tiap nilai dipisahkan oleh tanda , (koma).
Contoh:
{ “data” : [3,21,49,50,100], “nama” : “urutan” }
Berdasarkan sintaks di atas, yang merupakan array adalah urutan angka dari 3 sampai dengan 100.
Value
Value bisa berupa string, angka, true, false atau null.
Contoh:
{ “nama” : “IoT”, “jumlahSKS” : 3 “Data” : [1,2,3,6,10], “check” : true }
Berdasarkan sintaks di atas, IoT, 3, array 1,2,3,6,10 dan true adalah value.
Konsep JSON ini penting karena pada project-project IoT terutama yang menggunakan IDE Arduino maka diharurkan bagi kita untuk melakukan instalasi ArduinoJSON.