InfoGrab DocsInfoGrab Docs

데이터 변환을 위한 표현식

n8n에서 표현식 변환 함수를 사용해 데이터를 변환하는 방법과 자주 발생하는 오류 해결 방법을 설명합니다

n8n에서 표현식이 지원되는 곳이라면 어디에서든 표현식 변환 함수를 사용할 수 있습니다. 다만 다른 작업 없이 표현식만으로 데이터를 변환하는 것이 주된 목적이라면 Edit Fields (Set) 노드를 사용하세요. 이 노드는 데이터 변환 전용으로 설계되었으며, 다음 작업을 위한 깔끔한 인터페이스를 제공합니다: 표현식 기반 값으로 새 필드 추가 변환 함수를 사용해 기존 필드 값 수정 필드 제거 또는 이름 변경 이를 통해 데이터 변환과 비즈니스 로직을 분리하여 워크플로를 체계적으로 유지할 수 있으며, 이해와 유지 관리도 더 쉬워집니다. 모범 사례 : 여러 노드의 여러 매개변수에 복잡한 표현식을 추가하는 대신, Edit Fields를 사용해 데이터를 먼저 준비한 다음 변환된 데이터를 이후 노드로 전달하세요. 자세한 내용과 예시는 표현식 참조 를 확인하세요. 예시: 웹훅 본문에서 데이터 가져오기 # 다음 시나리오를 생각해 보세요. 웹훅 본문을 통해 데이터를 수신하는 웹훅 트리거가 있습니다. 그 데이터 중 일부를 워크플로에서 사용하기 위해 추출하고 싶습니다. 웹훅 데이터는 다음과 비슷하게 생겼습니다: [ { "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"). 이 예시는 JMESPath 문법을 사용해 JSON 데이터를 쿼리한다는 점에 유의하세요. 이 표현식은 {{$json['body']['city']}} 로도 작성할 수 있습니다. 자격 증명에서 표현식 사용하기 # 자격 증명 필드에서도 표현식을 사용할 수 있습니다. 표현식을 사용해 데이터를 참조하면(예: {{$json.body.city}} 또는 {{ $('Webhook').item.json.headers.authorization }} ), n8n은 현재 워크플로 실행 컨텍스트 내에서 해당 표현식을 평가합니다. 이는 다음을 의미합니다: 자격 증명 내 표현식은 이전 노드의 데이터를 포함해 현재 실행 컨텍스트에서 사용 가능한 데이터에 접근할 수 있습니다. 각 워크플로 실행은 자체 데이터 컨텍스트를 갖습니다. 표현식은 실행마다 평가되므로, 서로 다른 실행끼리는 데이터를 공유하지 않습니다. 예를 들어, 웹훅 노드가 액세스 토큰을 수신하고 이를 자격 증명 필드에서 표현식으로 참조하는 경우, 그 값은 해당 특정 워크플로 실행의 실행 데이터를 사용해 확인됩니다. 예시: 표현식으로 더 긴 JavaScript 작성하기 # 표현식 안에서 변수 할당이나 여러 문장 작성 같은