n8n의 데이터 구조
노드 간에 n8n이 데이터를 구조화하고 전달하는 방식을 이해하는 것은 워크플로를 구축하는 데 있어 핵심입니다. n8n에서 노드 간에 전달되는 모든 데이터는 객체의 배열입니다. 0.166.0부터 Function 노드 또는 Code 노드를 사용할 때 n8n은 json 키가 없으면 자동으로 추가합니다.
노드 간에 n8n이 데이터를 구조화하고 전달하는 방식을 이해하는 것은 워크플로를 구축하는 데 있어 핵심입니다. 이 가이드에서는 데이터 구조 형식과 워크플로에서 데이터가 흐르는 방식을 모두 다룹니다.
데이터 구조#
n8n에서 노드 간에 전달되는 모든 데이터는 객체의 배열입니다. 구조는 다음과 같습니다:
[
{
// 대부분의 데이터의 경우:
// 각 항목을 'json' 키를 가진 다른 객체로 감쌉니다
"json": {
// 예시 데이터
"apple": "beets",
"carrot": {
"dill": 1
}
},
// 바이너리 데이터의 경우:
// 각 항목을 'binary' 키를 가진 다른 객체로 감쌉니다
"binary": {
// 예시 데이터
"apple-picture": {
"data": "....", // Base64로 인코딩된 바이너리 데이터 (필수)
"mimeType": "image/png", // 가능하면 설정하는 것이 좋습니다 (선택)
"fileExtension": "png", // 가능하면 설정하는 것이 좋습니다 (선택)
"fileName": "example.png", // 가능하면 설정하는 것이 좋습니다 (선택)
}
}
},
]
0.166.0부터 Function 노드 또는 Code 노드를 사용할 때 n8n은 json 키가 없으면 자동으로 추가합니다. 또한 필요한 경우 항목을 배열([])로 자동으로 감쌉니다. 이는 Function 또는 Code 노드를 사용하는 경우에만 해당됩니다. 자체 노드를 구축할 때는 노드가 json 키가 있는 데이터를 반환하도록 여전히 직접 확인해야 합니다.
노드 내에서 데이터가 흐르는 방식#
워크플로에서 노드를 연결하면 데이터가 한 노드에서 다음 노드로 자동으로 전달됩니다.
노드는 여러 항목을 자동으로 처리합니다. 노드가 데이터 항목의 배열을 수신하면 각 항목을 개별적으로 처리하고 각 항목에 대해 구성된 작업을 수행합니다.
예를 들어, Trello 노드를 Create-Card로 설정하고 수신 데이터의 name-input-value라는 속성을 사용하여 Name을 설정하는 표현식을 만들면, 노드는 각 항목에 대해 카드를 생성하되 항상 현재 항목의 name-input-value를 선택합니다.
예를 들어, 다음 입력은 두 개의 카드를 생성합니다. 하나는 test1, 다른 하나는 test2로 이름 붙여집니다:
[
{
"name-input-value": "test1"
},
{
"name-input-value": "test2"
}
]
드래그 앤 드롭으로 매핑하는 내용 이해하기#
데이터 매핑은 필드 경로를 매핑하고 필드의 값을 로드합니다. 예를 들어, 다음 데이터가 있다고 가정합니다:
[
{
"fruit": "apples",
"color": "green"
}
]
INPUT에서 값을 사용하려는 필드로 fruit를 드래그 앤 드롭하여 fruit을 매핑할 수 있습니다. 이렇게 하면 표현식 {{ $json.fruit }}이 만들어집니다. 노드가 입력 항목을 반복할 때 필드의 값은 각 항목에 대해 fruit의 값이 됩니다.
중첩된 데이터 이해하기#
다음 데이터가 있다고 가정합니다:
[
{
"name": "First item",
"nested": {
"example-number-field": 1,
"example-string-field": "apples"
}
},
{
"name": "Second item",
"nested": {
"example-number-field": 2,
"example-string-field": "oranges"
}
}
]
n8n은 이것을 다음과 같이 표 형식으로 표시합니다:

