---
title: $json – ตัวแปรสำหรับเข้าถึงข้อมูล JSON ของ item ปัจจุบัน
url: https://www.thepexcel.com/functions/n8n/other/json-n8n/
type: function-explainer
program: n8n
syntax: $json
date: 2025-12-16
updated: 2025-12-22
scores:
  popularity: 10
  difficulty: 2
  usefulness: 10
---

# $json – ตัวแปรสำหรับเข้าถึงข้อมูล JSON ของ item ปัจจุบัน

> $json เป็นตัวแปรพื้นฐานที่สำคัญที่สุดใน n8n ใช้เข้าถึงข้อมูล JSON ของ item ปัจจุบันที่กำลังประมวลผล

## คำอธิบาย

$json เป็นตัวแปรพื้นฐานที่สำคัญที่สุดใน n8n ใช้เข้าถึงข้อมูล JSON ของ item ปัจจุบันที่กำลังประมวลผล ทำงานคล้าย this หรือ current row ใน Excel สามารถเข้าถึงข้อมูลได้ทั้งแบบ dot notation ($json.field) และ bracket notation ($json['field']) ใช้บ่อยที่สุดในทุก workflow เพราะเป็นจุดเริ่มต้นของการเข้าถึงข้อมูล

## Syntax

```excel
$json
```

## เคสการใช้งาน

### เข้าถึงข้อมูลจาก API response ที่ได้รับจาก HTTP Re...

เข้าถึงข้อมูลจาก API response ที่ได้รับจาก HTTP Request node

_เหมาะกับ:_ general

### ดึงค่าจากฐานข้อมูลที่ query มาจาก database node

ดึงค่าจากฐานข้อมูลที่ query มาจาก database node

_เหมาะกับ:_ general

### อ่านข้อมูลจาก webhook ที่ส่งเข้ามาในรูปแบบ JSON

อ่านข้อมูลจาก webhook ที่ส่งเข้ามาในรูปแบบ JSON

_เหมาะกับ:_ general

### ประมวลผลข้อมูลที่ได้จาก node ก่อนหน้าในทุก workflo...

ประมวลผลข้อมูลที่ได้จาก node ก่อนหน้าในทุก workflow

_เหมาะกับ:_ general

## ตัวอย่าง

### 1. เข้าถึงข้อมูลด้วย dot notation

```excel
{{ $json.name }}
```

**ผลลัพธ์:** `John`

เข้าถึงฟิลด์ name ของ item ปัจจุบัน เหมาะกับฟิลด์ที่ชื่อไม่มีช่องว่างหรืออักขระพิเศษ วิธีนี้อ่านง่ายและใช้บ่อยที่สุด

### 2. เข้าถึงข้อมูลแบบ bracket notation

```excel
{{ $json['body']['city'] }}
```

**ผลลัพธ์:** `Bangkok`

เข้าถึงฟิลด์ nested โดยใช้ bracket notation เหมาะกับฟิลด์ที่มีช่องว่างหรืออักขระพิเศษในชื่อ เช่น 'First Name' หรือ 'user-id'

### 3. ใช้ร่วมกับ string method

```excel
{{ $json.email.toLowerCase().trim() }}
```

**ผลลัพธ์:** `user@example.com`

เชื่อมต่อ method ของ JavaScript เพื่อทำ data cleaning สามารถใช้ trim(), toLowerCase(), replace() และอื่นๆ ได้ทันที pattern นี้ใช้บ่อยมากในการทำความสะอาดข้อมูล

### 4. ตรวจสอบค่าว่างด้วย conditional

```excel
{{ $json.status ? $json.status : 'pending' }}
```

**ผลลัพธ์:** `active`

ใช้ ternary operator เพื่อให้ค่า default กรณีที่ field เป็น null หรือ undefined ป้องกัน error จากข้อมูลไม่ครบ pattern นี้สำคัญมากในการจัดการข้อมูลจริง

## หมายเหตุเพิ่มเติม

- เข้าถึงข้อมูลจาก API response ที่ได้รับจาก HTTP Request node

- ดึงค่าจากฐานข้อมูลที่ query มาจาก database node

- อ่านข้อมูลจาก webhook ที่ส่งเข้ามาในรูปแบบ JSON

- ประมวลผลข้อมูลที่ได้จาก node ก่อนหน้าในทุก workflow

## คำถามที่พบบ่อย

**Q: ต่างจาก $input.item อย่างไร**

$json เป็น shortcut ที่เข้าถึงเฉพาะส่วน JSON data ของ item ส่วน $input.item คือ item object ทั้งหมด ที่รวมทั้ง json, binary, และ pairing info ใช้ $json เมื่อต้องการเข้าถึงข้อมูลอย่างเดียว (ใช้บ่อยกว่า 95%)

**Q: ทำไมต้องใช้ {{ }} ครอบ expression**

n8n ใช้ {{ }} เป็นเครื่องหมายบอกว่านี่คือ expression ที่ต้อง evaluate ไม่ใช่ plain text ถ้าไม่ครอบจะถือเป็น string ธรรมดา เหมือนกับ template engine อื่นๆ เช่น Handlebars

**Q: เวลาไหนควรใช้ dot notation vs bracket notation**

ใช้ dot notation ($json.name) เมื่อชื่อฟิลด์เป็น valid JavaScript identifier (ไม่มีช่องว่าง เครื่องหมายพิเศษ) ใช้ bracket notation ($json['First Name']) เมื่อชื่อฟิลด์มีช่องว่างหรืออักขระพิเศษ หรือเมื่อชื่อฟิลด์เป็นตัวแปร

**Q: ถ้าฟิลด์ไม่มีจะเกิดอะไรขึ้น**

จะได้ undefined กลับมา ไม่ error ทันที แต่ถ้าพยายามเข้าถึง property ต่อของ undefined จะ error ดังนั้นควรใช้ optional chaining ($json?.field?.nested) หรือ ternary operator เพื่อป้องกัน

## แหล่งข้อมูลเพิ่มเติม

- [n8n Expressions Documentation](https://docs.n8n.io/code/expressions/) _(article)_
- [n8n Arena Expressions Cheat Sheet](https://n8narena.com/guides/n8n-expression-cheatsheet/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/n8n/other/json-n8n/](https://www.thepexcel.com/functions/n8n/other/json-n8n/)_
