Thep Excel

$input.item – เข้าถึง item object ปัจจุบันพร้อม json, binary และ pairing

$input.item คือตัวแปรที่ใช้เข้าถึงรายการข้อมูลปัจจุบันที่กำลังประมวลผล โดยให้ข้อมูลครบถ้วนกว่า $json เพราะรวมทั้ง json data, binary files และ pairing info ไว้ด้วยกัน ส่วนใหญ่ใช้ $json ก็เพียงพอ แต่ $input.item จำเป็นเมื่อต้องการเข้าถึงไฟล์ binary หรือ track ความสัมพันธ์ระหว่าง items

=$input.item

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
10/10

Difficulty
2/10

Usefulness
10/10

Syntax & Arguments

=$input.item

How it works

เข้าถึง binary data (ไฟล์รูปภาพ, PDF, documents)

เข้าถึง binary data (ไฟล์รูปภาพ, PDF, documents)

ทำ item linking ระหว่าง nodes เพื่อ track relation…

ทำ item linking ระหว่าง nodes เพื่อ track relationship

Debug workflow โดยดู item structure ทั้งหมด

Debug workflow โดยดู item structure ทั้งหมด

Advanced operations ที่ต้องการข้อมูลนอกเหนือจาก JS…

Advanced operations ที่ต้องการข้อมูลนอกเหนือจาก JSON

Examples

ตัวอย่างที่ 1: เข้าถึง JSON data ผ่าน $input.item
{{ $input.item.json.userId }}
สมมติว่า input item มี json data เป็น {userId: 12345, name: 'John'} การใช้ $input.item.json.userId จะได้ค่า 12345 ซึ่งผลลัพธ์เหมือนกับ $json.userId ทุกประการ แต่การเขียนแบบนี้ชัดเจนกว่าว่ากำลังเข้าถึง json property ของ item object
n8n Formula:

={{ $input.item.json.userId }}

Result:

12345

ตัวอย่างที่ 2: เช็คว่ามี binary data หรือไม่
{{ $input.item.binary ? 'Has file attachment' : 'No file' }}
ใช้เช็คว่า item มีไฟล์ binary แนบมาด้วยหรือไม่ ซึ่งมีประโยชน์มากใน workflow ที่ประมวลผลไฟล์ เช่น ดาวน์โหลดไฟล์จาก HTTP Request แล้วต้องการ validate ก่อน process ต่อ ถ้า binary property เป็น undefined หรือ empty จะ return 'No file'
n8n Formula:

={{ $input.item.binary ? 'Has file attachment' : 'No file' }}

Result:

Has file attachment

ตัวอย่างที่ 3: เข้าถึง binary file metadata
{{ $input.item.binary.data.mimeType }}
เมื่อ HTTP Request node ดาวน์โหลดไฟล์ PDF มา binary object จะมี key 'data' (หรือชื่อที่กำหนดเอง) ที่เก็บ metadata ของไฟล์ ได้แก่ mimeType, fileExtension, fileSize, fileName ใช้ตรวจสอบประเภทไฟล์ก่อนส่งต่อไป process ที่เหมาะสม
n8n Formula:

={{ $input.item.binary.data.mimeType }}

Result:

application/pdf

ตัวอย่างที่ 4: ดู item structure ทั้งหมดเพื่อ debug
{{ Object.keys($input.item) }}
ใช้ Object.keys() เพื่อดู keys ทั้งหมดของ item object ซึ่งมีประโยชน์มากในการ debug workflow เพื่อเข้าใจว่า item มีข้อมูลอะไรบ้างนอกเหนือจาก json data ปกติ ช่วยให้เห็นภาพรวมของ data structure ที่ไหลผ่าน node
n8n Formula:

={{ Object.keys($input.item) }}

Result:

["json", "binary", "pairedItem"]

ตัวอย่างที่ 5: ใช้ pairedItem สำหรับ track item relationship
{{ $input.item.pairedItem.item }}
pairedItem property เก็บข้อมูลว่า item ปัจจุบันมาจาก item ไหนใน node ก่อนหน้า โดย item property คือ index ของ source item ใช้ใน advanced workflows ที่ต้องการ track ความสัมพันธ์ระหว่าง items เช่น เมื่อใช้ Merge node หรือ Split In Batches node
n8n Formula:

={{ $input.item.pairedItem.item }}

FAQs

ควรใช้ $input.item หรือ $json ดีกว่ากัน?

ส่วนใหญ่ใช้ $json เพราะสั้นกว่าและเข้าถึง JSON data ได้โดยตรง ใช้ $input.item เมื่อต้องการ: (1) เข้าถึง binary data สำหรับไฟล์ (2) ใช้ pairedItem สำหรับ track relationship (3) debug เพื่อดู item structure ทั้งหมด (4) ต้องการเขียน code ที่ชัดเจนว่ากำลังทำงานกับ item object

$input.item.json กับ $json เหมือนกันทุกอย่างใช่ไหม?

ใช่ครับ ทั้งสองชี้ไปที่ object เดียวกันเลย $json เป็น shortcut ของ $input.item.json ที่ n8n สร้างมาให้ใช้งานสะดวกขึ้น เหมือนกับการเขียน this.property vs property ใน OOP ดังนั้นใช้ $json ได้เลยสำหรับ JSON data

Binary data ใน $input.item.binary เก็บอะไรบ้าง?

$input.item.binary เป็น object ที่เก็บไฟล์ binary ต่างๆ โดย key คือชื่อไฟล์ (เช่น ‘data’, ‘attachment’) และ value เก็บ metadata ได้แก่ mimeType (ประเภทไฟล์), fileExtension, fileSize, fileName และ data ที่เป็น base64 encoded content ของไฟล์

pairedItem ใช้ทำอะไรใน $input.item?

pairedItem เก็บข้อมูลอ้างอิงกลับไปยังรายการต้นทางใน node ก่อนหน้า ซึ่งมีประโยชน์มากใน workflow ที่ซับซ้อน โดยเฉพาะเมื่อใช้ Merge, Split In Batches หรือ Loop nodes เพราะช่วยให้ติดตามได้ว่าผลลัพธ์แต่ละตัวมาจากข้อมูลต้นทางตัวไหน

Resources & Related

Additional Notes

$input.item เป็นตัวแปรที่เข้าถึง item object ปัจจุบันแบบเต็มรูปแบบใน n8n workflow

ที่ต้องเข้าใจคือ item object มี 3 ส่วนหลัก: (1) json – ข้อมูล JSON ที่เราใช้บ่อยที่สุด (2) binary – ไฟล์ binary เช่น รูปภาพ, PDF, Excel (3) pairing – ข้อมูลการเชื่อมต่อระหว่าง items ใน different nodes

ส่วนใหญ่ workflow ใช้แค่ json data ดังนั้น $json ก็เพียงพอและสั้นกว่า แต่ถ้าทำงานกับไฟล์ ต้องใช้ $input.item.binary แทน เพราะ $json ไม่มี binary data

ที่เจ๋งคือ $input.item.json กับ $json ชี้ไปที่ object เดียวกันเลย ดังนั้นถ้าต้องการแค่ JSON data ใช้ $json โดยตรงสะดวกกว่าครับ

ส่วนตัวผมใช้ $input.item เวลา debug workflow เพื่อดู structure ทั้งหมดของ item หรือเวลาทำงานกับ HTTP Request node ที่ดึงไฟล์มา ซึ่งไฟล์จะอยู่ใน binary property 😎

Leave a Reply

Your email address will not be published. Required fields are marked *