← 노드 한 장 전체#47 · Rename Keys
Rename Keys
필드 이름 세 개, 값은 그대로 바꾸기
이 글은 이런 분께데이터 값은 유지하면서 다른 서비스에 맞춰 필드 이름만 바꾸고 싶은 분

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요
영문 키 세 개를 읽기 쉬운 이름으로 바꿨어요. 값은 그대로 두고요.
직접 작성한 API 응답 모양의 샘플 2건입니다. 실제 고객·주문 정보가 아니고 외부 API를 호출한 실습도 아니에요.
먼저 결과부터
직접 작성한 API 응답 모양의 샘플 2건에서 user_name→표시이름, total_price→합계금액, order_status→처리상태로 수동 매핑했습니다. Rename Keys 노드 버전 1을 사용했고 Regex는 사용하지 않았어요. 두 항목 모두 기존 값이 유지됐고 이전 키 이름이 제거됐으며, 선택하지 않은 sample 필드는 남았습니다. Code로 전후 값을 대조해 확인했습니다. Rename Keys 노드 1ms, 전체 워크플로우 1.748초는 이번 실제 실행 수치예요. Edit Fields로도 구성할 수 있지만 이 예제는 키 이름 변경에 집중했습니다. 실제 고객·주문 정보가 아닌 샘플입니다. (실제 실행 #74834)
우리가 실제로 돌린 기록 · 실행 #74834 · 2026-10-30
우리가 실제로 돌린 기록 · 실행 #74834 · 2026-10-30


따라 하기
실제로 실행한 워크플로우를 바탕으로 정리했어요. 계정·식별자는 공개용 값으로 치환했고, 그 밖의 차이는 아래 주의사항에 표시했어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 다운로드 JSON의 설정값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.
Step 1. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 2. Code 노드 추가이름: Sample API rows
| JavaScript | // 직접 작성한 API 응답 모양의 교육용 샘플. 실제 고객·주문 정보 없음
return [{"sample":true,"user_name":"샘플 사용자 A","total_price":20000,"order_status":"결제 완료"},{"sample":true,"user_name":"샘플 사용자 B","total_price":35000,"order_status":"배송 준비"}].map(json=>({json})); |
Step 3. Rename Keys 노드 추가이름: Rename Keys
| Key 1 › Current Key Name | user_name |
| Key 1 › New Key Name | 표시이름 |
| Key 2 › Current Key Name | total_price |
| Key 2 › New Key Name | 합계금액 |
| Key 3 › Current Key Name | order_status |
| Key 3 › New Key Name | 처리상태 |
Step 4. Code 노드 추가이름: Verify values
| JavaScript | const before=$('Sample API rows').all();const after=$input.all();const mapping=[{"currentKey":"user_name","newKey":"표시이름"},{"currentKey":"total_price","newKey":"합계금액"},{"currentKey":"order_status","newKey":"처리상태"}];const results=after.map((a,i)=>({sample:true,item:i+1,renamedKeys:3,allValuesPreserved:mapping.every(m=>before[i].json[m.currentKey]===a.json[m.newKey]),oldKeysRemoved:mapping.every(m=>!(m.currentKey in a.json)),unmappedFieldPreserved:a.json.sample===true,result:a.json}));return results.map(json=>({json})); |
가져와서 쓸 때 확인할 것
- YOUR_… 표시를 내 값으로 바꾸고, 계정이 필요한 서비스 노드만 자격 증명을 연결하세요. 그런 칸이나 노드가 없는 예제는 추가 계정 없이 실행할 수 있어요.
노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.