Langsung ke isi
Stasiun 4 · Jaringan dan IoTJSON: format data

Materi 5 dari 10 · Stasiun 4

JSON: format data

15 menit7 kartuDraf AI · belum direview

Setelah materi ini, kamu bisa:

  • Bisa membaca dan menulis data JSON sederhana berisi objek, angka, teks, dan daftar.
  • Bisa menemukan kesalahan penulisan JSON yang umum.
  • Bisa menjelaskan bahwa JSON adalah format data, bukan program.

Bahasa bersama untuk data

ESP32 mengirim suhu, kelembapan, dan waktu pengukuran. Server ditulis dengan bahasa lain, aplikasi HP dengan bahasa lain lagi. Semuanya harus sepakat cara menulis data supaya saling mengerti.

Format yang paling sering dipakai untuk itu adalah JSON (JavaScript Object Notation). Namanya mengandung JavaScript, tapi hampir semua bahasa bisa membacanya.

Contoh JSON

Pasangan dipisah koma, tapi TIDAK ada koma setelah pasangan terakhir.

{
  "perangkat": "ruang1",
  "suhu": 29.4,
  "lembap": 71,
  "kipas": true,
  "riwayat": [29.1, 29.3, 29.4]
}
  • Baris 1: Objek diapit kurung kurawal. Isinya pasangan kunci dan nilai.
  • Baris 2: Kunci selalu teks dalam tanda kutip ganda. Nilai teks juga.
  • Baris 3: Angka ditulis tanpa kutip, desimal memakai titik.
  • Baris 5: true atau false untuk benar dan salah, tanpa kutip.
  • Baris 6: Daftar (array) diapit kurung siku.

Tebak dulu

  1. Mana JSON yang valid?
    • {suhu: 29.4}
    • {'suhu': 29.4}
    • {"suhu": 29.4}
    • {"suhu": 29,4}
    Jawaban

    {"suhu": 29.4}. Kunci butuh kutip ganda, bukan tanpa kutip atau kutip tunggal. Desimal memakai titik. 29,4 akan dibaca sebagai dua hal yang dipisah koma.

Perbaiki JSON ini

JSON di bawah punya beberapa kesalahan. Perbaiki sampai valid dan berisi kunci "suhu" bertipe angka. Kartu terbuka setelah kamu melihat pesan tidak valid dan valid.

Simulasi interaktif tersedia saat JavaScript aktif.

Tiga kesalahan di awal: kutip tunggal di kunci perangkat, suhu ditulis sebagai teks "29,4" (seharusnya 29.4 tanpa kutip), dan koma setelah pasangan terakhir.

Membuat JSON di ESP32

Memakai pustaka ArduinoJson (versi 7), yang paling sering dipakai.

Bisa juga ditulis manual dengan menyambung teks, tapi mudah salah kutip dan koma. Pustaka mengurus itu untukmu.

#include <ArduinoJson.h>
JsonDocument doc;
doc["perangkat"] = "ruang1";
doc["suhu"] = 29.4;
String teks;
serializeJson(doc, teks);
// teks sekarang {"perangkat":"ruang1","suhu":29.4}
  • Baris 6: Ubah objek menjadi teks JSON yang siap dikirim lewat HTTP atau MQTT.

Benar atau salah?

  1. "JSON adalah kode program yang dijalankan oleh server."
    • Benar
    • Salah
    Jawaban

    Salah. JSON hanya data. Tidak ada perintah di dalamnya. Program di server membaca data itu dan memutuskan apa yang dilakukan.

  2. "Urutan pasangan kunci di dalam objek JSON tidak mengubah artinya."
    • Benar
    • Salah
    Jawaban

    Benar. Objek dibaca berdasarkan kunci, bukan urutan. Urutan baru penting di dalam daftar (array).

Selesai

  • JSON: objek {}, daftar [], teks "...", angka, true/false, null.
  • Kunci selalu kutip ganda. Desimal titik. Tidak ada koma setelah pasangan terakhir.
  • JSON adalah data, bukan program.

Pancingan

Kamu sudah punya koneksi (lihat WiFi: menghubungkan ESP32) dan format data (lihat JSON: format data). Sekarang protokol khas IoT yang mengantar data itu ke banyak penerima sekaligus. Itu MQTT: protokol khas IoT.

Berikutnya

Referensi
  • RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format.
  • Dokumentasi ArduinoJson (arduinojson.org), versi 7.

Draf AI. Belum direview manusia.

Kode materi n5 · versi 0.1 · 2026-10-06