Skip to content

Durasi: 10 menit | Block: 4


🎯 Goal Block Ini ​

Bikin peserta nyaman sama JSON dan data mapping β€” tanpa overwhelmed.


πŸ“¦ JSON itu Simple ​

JSON = cara n8n menyimpan dan mengirim data antar node.

json
{
  "nama": "Budi",
  "email": "budi@email.com",
  "order": {
    "produk": "Kopi Arabica",
    "qty": 2,
    "harga": 75000
  },
  "tags": ["vip", "repeat-buyer"]
}

Analogi: JSON = formulir. Key = label. Value = isian.


πŸ”— Field Mapping = Pasang Data ke Tempatnya ​

Output Node A:          Input Node B:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ nama: Budi   β”‚ ────── β”‚ Nama Customerβ”‚
β”‚ email: budi@ β”‚ ────── β”‚ Email Tujuan β”‚
β”‚ pesan: Halo  β”‚ ────── β”‚ Isi Pesan    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Di n8n:

  1. Klik node B
  2. Di field "Nama Customer", ketik {{ $json.nama }}
  3. n8n otomatis ambil data dari node sebelumnya

πŸ”£ Expressions β€” Formula n8n ​

Dasar ​

ExpressionHasil
{{ $json.nama }}Value field "nama" dari node sebelumnya
{{ $json.order.produk }}Nested field
{{ $json.tags[0] }}Array index pertama
{{ $now }}Tanggal/waktu sekarang

Formatting ​

ExpressionHasil
{{ $now.format('DD/MM/YYYY') }}"30/05/2026"
{{ $json.harga.toLocaleString() }}"75,000"
{{ $json.nama.toUpperCase() }}"BUDI"

String Concatenation ​

"Halo \{{ $json.nama }}, terima kasih atas inquiry tentang \{{ $json.order.produk }}"

πŸ§ͺ Hands-On: Data Mapping ​

Input (Webhook):
{
  "customer_name": "Ani",
  "product": "Kopi Robusta",
  "quantity": 3,
  "price_per_unit": 50000
}

Task: Di Set Node, bikin field:

FieldExpression
summary"Order baru: \{{ $json.quantity }}x \{{ $json.product }}"
total{{ $json.quantity * $json.price_per_unit }}
formatted_total"Rp \{{ ($json.quantity * $json.price_per_unit).toLocaleString() }}"

⚠️ Common Mistakes ​

MasalahPenyebabFix
Field kosongNama field salah (case-sensitive)Check exact key name di output node sebelumnya
Expression errorKurung kurawang ga tutupPastikan {{ ... }} lengkap
Nested field nullPath salahCek dengan {{ JSON.stringify($json) }} dulu
Number jadi stringInput type ga sesuaiPakai Number($json.qty)

πŸ’‘ Pro Tip ​

Klik tab "Output" di node untuk lihat data yang keluar. Ini cara paling gampang debug data mapping.

Bootcamp AI Automation β€” akala.id