RECIPE 부록A
n8n 표현식 30선 & 자주 쓰는 패턴
- ▸n8n 표현식 문법을 익혀 노드 간 데이터를 자유롭게 가공할 수 있다
- ▸날짜·문자열·숫자·배열 처리에 자주 쓰이는 30가지 표현식을 바로 복사해 쓸 수 있다
- ▸표현식 디버깅 방법을 알고 오류를 스스로 해결할 수 있다
✅표현식 기본 규칙
- □표현식은 {{ }} 안에 작성합니다
- □$json — 현재 노드의 입력 데이터
- □$('노드이름').item.json — 특정 노드의 마지막 출력
- □$input.all() — 현재 노드로 들어온 모든 아이템 배열
- □$now — 현재 시각 (Luxon DateTime 객체)
- □$today — 오늘 자정 (Luxon DateTime 객체)
① 날짜 & 시간 표현식 10선
1. 오늘 날짜 (YYYY-MM-DD)
{{ $today.toFormat("yyyy-MM-dd") }}
2. 현재 날짜+시간
{{ $now.toFormat("yyyy-MM-dd HH:mm:ss") }}
3. 어제 날짜
{{ $today.minus({ days: 1 }).toFormat("yyyy-MM-dd") }}
4. 다음 주 월요일
{{ $today.plus({ weeks: 1 }).startOf("week").toFormat("yyyy-MM-dd") }}
5. 이번 달 1일
{{ $today.startOf("month").toFormat("yyyy-MM-dd") }}
6. 지난 달 마지막 날
{{ $today.startOf("month").minus({ days: 1 }).toFormat("yyyy-MM-dd") }}
7. Unix 타임스탬프 → 날짜 변환
{{ DateTime.fromMillis($json.timestamp).toFormat("yyyy-MM-dd") }}
8. ISO 문자열 → 한국어 날짜
{{ DateTime.fromISO($json.date).setLocale("ko").toFormat("yyyy년 M월 d일 (EEE)") }}
9. 두 날짜 사이 일수 계산
{{ DateTime.fromISO($json.endDate).diff(DateTime.fromISO($json.startDate), "days").days }}
10. 현재 요일 (0=일, 1=월, ..., 6=토)
{{ $now.weekday }}② 문자열 처리 표현식 10선
11. 공백 제거
{{ $json.name.trim() }}
12. 대문자 변환
{{ $json.status.toUpperCase() }}
13. 문자열 포함 여부
{{ $json.text.includes("키워드") }}
14. 문자열 자르기 (앞 100자)
{{ $json.content.slice(0, 100) + "..." }}
15. 이메일에서 도메인 추출
{{ $json.email.split("@")[1] }}
16. 줄바꿈을 <br>로 변환
{{ $json.message.replace(/
/g, "<br>") }}
17. 숫자만 추출 (정규식)
{{ $json.phone.replace(/[^0-9]/g, "") }}
18. 첫 글자 대문자
{{ $json.name.charAt(0).toUpperCase() + $json.name.slice(1) }}
19. 문자열 → 배열 분리
{{ $json.tags.split(",").map(t => t.trim()) }}
20. 템플릿 문자열 조합
{{ "안녕하세요, " + $json.name + "님!" }}③ 숫자 & 배열 & 조건 표현식 10선
21. 숫자 천단위 콤마
{{ Number($json.amount).toLocaleString() }}
22. 소수점 2자리 반올림
{{ Number($json.rate).toFixed(2) }}
23. 퍼센트 계산
{{ ($json.done / $json.total * 100).toFixed(1) + "%" }}
24. 배열 길이
{{ $json.items.length }}
25. 배열에서 특정 키 추출
{{ $json.items.map(i => i.name).join(", ") }}
26. 배열 합계
{{ $json.items.reduce((s, i) => s + i.price, 0) }}
27. 조건부 출력 (삼항 연산자)
{{ $json.score >= 70 ? "합격" : "불합격" }}
28. null/undefined 대체값
{{ $json.phone ?? "번호 없음" }}
29. 배열 중 조건 충족 항목만 필터
{{ $json.items.filter(i => i.qty > 0) }}
30. 객체 키 목록 가져오기
{{ Object.keys($json.data).join(", ") }}💡 TIP표현식이 동작하지 않을 때는 노드 옆 'Expression Editor'({{ }} 아이콘)를 클릭해 실시간으로 결과를 확인하세요. 또한 Code 노드에 console.log($json)을 추가하고 'Test Step'으로 실행하면 실제 데이터 구조를 볼 수 있습니다.
⚠️ 주의n8n 표현식 안에서 백틱(`) 문자를 직접 쓸 수 없습니다. 템플릿 리터럴이 필요하다면 Code 노드 안에서 JavaScript로 처리하세요. 표현식 {{ }} 안에서는 문자열 연결(+)이나 삼항 연산자를 대신 사용하면 됩니다.