데이터 변환을 위한 표현식
n8n에서 표현식을 사용하여 데이터를 변환하는 방법과 일반적인 오류 해결 방법을 설명합니다.
n8n에서 표현식이 지원되는 모든 위치에서 표현식 변환 함수를 사용할 수 있습니다. 다만, 다른 작업 없이 표현식만으로 데이터를 변환하는 것이 주목적이라면 Edit Fields (Set) 노드를 사용하세요. 이 노드는 데이터 변환을 위해 특별히 설계되었으며, 다음 작업을 위한 깔끔한 인터페이스를 제공합니다: 표현식 기반 값으로 새 필드 추가 변환 함수를 사용하여 기존 필드 값 수정 필드 제거 또는 이름 변경 이렇게 하면 데이터 변환과 비즈니스 로직을 분리하여 워크플로우를 체계적으로 유지하고, 이해와 유지 관리가 용이해집니다. 모범 사례 : 여러 노드의 여러 파라미터에 복잡한 표현식을 추가하는 대신, Edit Fields를 사용하여 먼저 데이터를 준비한 다음 변환된 데이터를 후속 노드에 전달하세요. 자세한 내용과 예시는 표현식 레퍼런스 를 참조하세요. 예시: webhook body에서 데이터 가져오기 # 다음 시나리오를 생각해 보세요: webhook 트리거가 webhook body를 통해 데이터를 수신합니다. 워크플로우에서 사용하기 위해 해당 데이터 중 일부를 추출하려고 합니다. webhook 데이터는 다음과 유사합니다: [ { "headers" : { "host" : "n8n.instance.address" , ... } , "params" : { } , "query" : { } , "body" : { "name" : "Jim" , "age" : 30 , "city" : "New York" } } ] 워크플로우의 다음 노드에서 city 값만 가져오려면 다음 표현식을 사용할 수 있습니다: {{$json. body . city }} 이 표현식은: n8n의 사용자 정의 $json 변수를 사용하여 수신되는 JSON 형식의 데이터에 접근합니다. city 값을 찾습니다 (이 예시에서는 "New York"). 이 예시는 JSON 데이터를 쿼리하기 위해 JMESPath 구문을 사용합니다. 이 표현식을 {{$json['body']['city']}} 로 작성할 수도 있습니다. 자격 증명에서 표현식 사용하기 # 자격 증명 필드에서도 표현식을 사용할 수 있습니다. 표현식을 사용하여 데이터를 참조하는 경우 (예: {{$json.body.city}} 또는 {{ $('Webhook').item.json.headers.authorization }} ), n8n은 현재 워크플로우 실행 컨텍스트 내에서 표현식을 평가합니다. 이는 다음을 의미합니다: 자격 증명의 표현식은 이전 노드의 데이터를 포함하여 현재 실행 컨텍스트에서 사용 가능한 데이터에 접근할 수 있습니다. 각 워크플로우 실행은 자체 데이터 컨텍스트를 가집니다. 표현식은 실행마다 평가되므로 서로 다른 실행이 데이터를 공유하지 않습니다. 예를 들어, webhook 노드가 액세스 토큰을 수신하고 표현식을 사용하여 자격 증명 필드에서 이를 참조하는 경우, 값은 해당 특정 워크플로우 실행의 실행 데이터를 사용하여 resolve됩니다. 예시: 표현식으로 더 긴 JavaScript 작성하기 # 표현식에서 변수 할당이나 여러
