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:
- Klik node B
- Di field "Nama Customer", ketik
{{ $json.nama }} - n8n otomatis ambil data dari node sebelumnya
π£ Expressions β Formula n8n β
Dasar β
| Expression | Hasil |
|---|---|
{{ $json.nama }} | Value field "nama" dari node sebelumnya |
{{ $json.order.produk }} | Nested field |
{{ $json.tags[0] }} | Array index pertama |
{{ $now }} | Tanggal/waktu sekarang |
Formatting β
| Expression | Hasil |
|---|---|
{{ $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:
| Field | Expression |
|---|---|
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 β
| Masalah | Penyebab | Fix |
|---|---|---|
| Field kosong | Nama field salah (case-sensitive) | Check exact key name di output node sebelumnya |
| Expression error | Kurung kurawang ga tutup | Pastikan {{ ... }} lengkap |
| Nested field null | Path salah | Cek dengan {{ JSON.stringify($json) }} dulu |
| Number jadi string | Input type ga sesuai | Pakai Number($json.qty) |
π‘ Pro Tip β
Klik tab "Output" di node untuk lihat data yang keluar. Ini cara paling gampang debug data mapping.