~/VibeHandbook
PDF Gratis

Bab 04 · 03

Apa itu JSON

Saat aplikasimu mengajukan pertanyaan ke , jawabannya kembali sebagai teks dalam format bernama . Format ini menjadi standar karena mudah dibaca manusia dan mudah diproses program. Kamu akan sering melihatnya, jadi ada baiknya bisa membacanya.

JSON dibangun dari kunci (key) dan nilai (value). Sebuah key adalah label dalam tanda kutip; sebuah value adalah data yang melekat padanya. Berikut contoh nyata yang mendeskripsikan satu pengguna:

{
  "id": 42,
  "name": "Ada Lovelace",
  "email": "[email protected]",
  "isAdmin": false,
  "loginCount": 137,
  "tags": ["beta", "early-access"],
  "profile": {
    "city": "London",
    "avatarUrl": null
  }
}

Bacalah seperti formulir yang sudah diisi seseorang. "name" adalah sebuah kolom, "Ada Lovelace" adalah yang ditulis orang itu di dalamnya. Dua struktur ini melakukan semua pekerjaan:

  • Sebuah object dibungkus dalam kurung kurawal { }. Ia adalah kumpulan pasangan key/value — seperti satu catatan (record). Seluruh contoh di atas adalah satu object.
  • Sebuah array dibungkus dalam kurung siku [ ]. Ia adalah daftar nilai yang berurutan. Di atas, "tags" menyimpan sebuah array berisi dua string.

Perhatikan bahwa "profile" adalah sebuah object di dalam object. JSON bisa bersarang (nested) — sebuah value bisa saja berupa object atau array itu sendiri, sedalam yang dibutuhkan. Begitulah cara satu respons bisa mendeskripsikan seorang pengguna, alamatnya, dan sepuluh pesanan terakhirnya sekaligus.

Digambarkan sebagai pohon, object pengguna yang sama menunjukkan bentuknya sekilas — kolom-kolom datar di bagian atas, sebuah daftar dan object bersarang bercabang di bawahnya:

   { } user (object)
   ├── id .......... 42            (number)
   ├── name ........ "Ada Lovelace" (string)
   ├── isAdmin ..... false          (boolean)
   ├── tags ........ [ ] (array)
   │   ├── "beta"
   │   └── "early-access"
   └── profile ..... { } (object)
       ├── city ...... "London"     (string)
       └── avatarUrl . null         (null = no value)

Mau versi offline?

Unduh seluruh buku sebagai PDF atau EPUB — gratis.