n8n의 데이터 구조 이해하기
n8n v2.42요약
n8n이 노드 간에 데이터를 구조화하고 전달하는 방식을 이해하는 것은 워크플로를 구축하는 데 있어 근본적으로 중요합니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요. n8n에서 노드 간에 전달되는 모든 데이터는 객체의 배열입니다.
n8n이 노드 간에 데이터를 구조화하고 전달하는 방식을 이해하는 것은 워크플로를 구축하는 데 있어 근본적으로 중요합니다. 이 가이드는 데이터 구조 형식과 워크플로 내에서 데이터가 흐르는 방식을 모두 다룹니다.
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
데이터 구조#
n8n에서 노드 간에 전달되는 모든 데이터는 객체의 배열입니다. 다음과 같은 구조를 가집니다.
[
{
// For most data:
// Wrap each item in another object, with the key 'json'
"json": {
// Example data
"apple": "beets",
"carrot": {
"dill": 1
}
},
// For binary data:
// Wrap each item in another object, with the key 'binary'
"binary": {
// Example data
"apple-picture": {
"data": "....", // Base64 encoded binary data (required)
"mimeType": "image/png", // Best practice to set if possible (optional)
"fileExtension": "png", // Best practice to set if possible (optional)
"fileName": "example.png", // Best practice to set if possible (optional)
}
}
},
]
json 키와 배열 문법 생략하기
0.166.0 버전부터 Function node 또는 Code node를 사용할 때, json 키가 없으면 n8n이 자동으로 추가합니다. 또한 필요한 경우 항목을 배열([])로 자동으로 감쌉니다. 이는 Function node 또는 Code node를 사용할 때만 해당됩니다. 직접 노드를 만들 때는 노드가 json 키가 포함된 데이터를 반환하도록 반드시 확인해야 합니다.
노드 내에서 데이터가 흐르는 방식#
워크플로에서 노드를 연결하면 한 노드에서 다음 노드로 데이터가 자동으로 전달됩니다.
노드는 여러 항목을 자동으로 처리합니다. 노드가 데이터 항목의 배열을 받으면, 각 항목을 개별적으로 처리하고 구성된 작업을 각 항목에 대해 수행합니다.
예를 들어, Trello node를 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은 이를 다음과 같이 테이블 형태로 표시하며, nested 필드가 중첩된 데이터를 포함하고 있음을 나타내기 위해 굵은 글씨로 표시합니다.
