InfoGrab DocsInfoGrab Docs

n8n의 데이터 구조 이해하기

요약

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)
			}
		}
	},
]
Note

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 필드가 중첩된 데이터를 포함하고 있음을 나타내기 위해 굵은 글씨로 표시합니다.

예시 데이터의 테이블 보기. nested 필드가 굵은 글씨로 표시됩니다

관련 리소스#

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)
			}
		}
	},
]
Note

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 필드가 중첩된 데이터를 포함하고 있음을 나타내기 위해 굵은 글씨로 표시합니다.

예시 데이터의 테이블 보기. nested 필드가 굵은 글씨로 표시됩니다

관련 리소스#