개발도구 · 2026년 7월 7일 · 읽는 시간 4분

JSONPath 표현식 직접 써가며 확인하려고 만든 것

👉 JSONPath 테스터 바로 가기

중첩된 JSON에서 원하는 값만 뽑아오는 표현식이 맞는지 실행해보기 전까지 확신이 없다.

JSONPath가 필요한 상황

이런 때 쓴다:

  • 복잡한 API 응답에서 원하는 필드만 추출
  • Elasticsearch 쿼리 작성 시 JSON 경로 확인
  • Postman / Insomnia 테스트 스크립트 → 응답 값 검증
  • Gatling, k6 등 부하 테스트 → 응답 필드 추출
  • Grafana / 모니터링 도구 → JSON 데이터 소스 필드 설정
  • 데이터 변환 파이프라인 → 특정 필드만 골라내기

JSONPath 기본 문법

XPath와 비슷한 개념이다:

// 예시 JSON
{
  "store": {
    "books": [
      {"title": "클린코드", "price": 25000, "author": "로버트 마틴"},
      {"title": "리팩터링", "price": 32000, "author": "마틴 파울러"},
      {"title": "DDD", "price": 40000, "author": "에릭 에반스"}
    ],
    "name": "개발서점"
  }
}

// JSONPath 예시
$.store.name                    → "개발서점"
$.store.books[0].title         → "클린코드"
$.store.books[*].title         → ["클린코드", "리팩터링", "DDD"]
$.store.books[?(@.price<30000)].title  → ["클린코드"]
$..price                       → [25000, 32000, 40000]

자주 쓰는 문법 요약:

  • $ → 루트
  • .key → 자식 키 접근
  • [*] → 배열 전체
  • [0] → 인덱스
  • [0,2] → 복수 인덱스
  • [?(@.price > 10000)] → 필터 표현식
  • .. → 재귀 탐색

기존 방법의 문제

  • Node.js → jsonpath 패키지 설치 후 코드 짜서 실행
  • Python → jsonpath-ng 라이브러리, 환경 필요
  • Postman → API 호출 후 Test 탭에서 확인, JSON 따로 못 넣음
  • 머릿속으로 계산 → 중첩 3단계 넘어가면 헷갈림

표현식 한 번 써보고 맞는지 확인하는 데 이렇게 많은 단계가 필요하면 안 된다.


그래서 만들었음

주요 기능:

  • JSON 데이터 + JSONPath 표현식 입력 → 결과 즉시 출력
  • 매칭된 값 하이라이트
  • 배열 결과일 때 개수 표시
  • 문법 오류 감지 및 안내
  • 예제 JSONPath 모음 클릭해서 바로 테스트

필터 표현식 활용 예시

// 특정 조건으로 필터링
$.users[?(@.age >= 18)]           // 성인만
$.products[?(@.stock > 0)]        // 재고 있는 것만
$.orders[?(@.status == "완료")]    // 완료된 주문만

// 여러 조건 (구현에 따라 다름)
$.items[?(@.price < 10000 && @.category == "도서")]

필터 표현식이 생각보다 강력하다. API 응답에서 조건 맞는 항목만 뽑을 때 유용하다.


실제로 써보니

좋은 점:

  • JSON 붙여넣고 바로 표현식 테스트 → 즉각적인 피드백
  • 결과에 매칭 개수 표시 → 얼마나 뽑히는지 바로 확인
  • 잘못된 경로 입력 시 바로 에러 표시

한계:

  • JSONPath 구현체마다 문법이 조금씩 달라서 다른 환경에서 안 될 수 있음
  • 스크립트 표현식 (eval()) 등 복잡한 구문은 지원 제한

사용법

  1. JSON 데이터 붙여넣기
  2. JSONPath 표현식 입력 (예: $.users[*].name)
  3. 결과 확인
  4. 맞을 때까지 표현식 수정

써보기

👉 JSONPath 테스터 바로 가기

API 응답 구조 파악하거나 데이터 추출 표현식 짤 때 써보면 편함.


#JSONPath #JSON파싱 #데이터추출 #API응답 #개발도구

광고