Skip to content

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 DataBinary 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: {} }.
  • json chứa dữ liệu văn bản.
  • binary chứ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.

Expressions & Variables

Internal documentation for iNET Portal