발행일: 2026-10-06(화) 11:44
← 목차로 돌아가기|하루 30분 n8n 시리즈 ② 실무 자동화 레시피 100
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로 처리하세요. 표현식 {{ }} 안에서는 문자열 연결(+)이나 삼항 연산자를 대신 사용하면 됩니다.
← 이전 레시피☰ 목차다음 레시피 →