Cấu trúc dữ liệu (JSON & Binary)
Mục tiêu bài học
Sau bài học này, bạn sẽ:
- Hiểu cấu trúc dữ liệu chuẩn của n8n
- Phân biệt được JSON Data và Binary Data
- Biết cách truy cập dữ liệu trong node
1. Cấu trúc chuẩn (Standard Structure)
Mọi dữ liệu chảy qua các node trong n8n LUÔN LUÔN là một mảng các Objects (Array of Objects).
json
[
{
"json": {
"id": 1,
"name": "Alice"
},
"binary": {
"avatar": {
"data": "Base64String...",
"mimeType": "image/png",
"fileName": "avatar.png"
}
}
},
{
"json": { ... },
"binary": { ... }
}
]2. JSON Data
Đây là dữ liệu văn bản chính.
- Truy cập:
{{ $json.name }} - Sử dụng: Hầu hết các node (Set, HTTP Request, If) đều thao tác trên phần
json.
Ví dụ thực tế
API trả về: [{ "id": 1 }, { "id": 2 }] n8n chuyển thành: [{ "json": { "id": 1 } }, { "json": { "id": 2 } }]
3. Binary Data
Đây là nơi chứa dữ liệu file (hình ảnh, PDF, Excel...).
- Hiển thị: Chỉ hiện metadata (tên file, kích thước).
- Lưu trữ: Mã hóa Base64 hoặc lưu file trên ổ cứng.
Khi nào dùng Binary Data?
- Upload/Download file (Google Drive, Dropbox).
- Gửi email đính kèm.
- Xử lý ảnh.
4. Paired Item (Cặp dữ liệu)
Khi một node nhận input từ node trước, n8n giữ mối liên kết giữa input item và output item.
[ Node A ] (10 items) ──▶ [ Node B ] (10 runs)Trong Node B, bạn có thể truy cập dữ liệu gốc của Node A tương ứng với item đang chạy: Expression: {{ $node["Node A"].json.id }}
Tổng kết
- Dữ liệu luôn là mảng các object
{ json: {}, binary: {} }. jsonchứa dữ liệu văn bản.binarychứa file.
Bài học tiếp theo
Làm thế nào để sử dụng dữ liệu này? Chúng ta sẽ học về Expressions và Variables.