🔍 JSONPath 테스터란?
JSONPath는 JSON 데이터에서 특정 값을 추출하기 위한 경로 표현식 언어입니다. XPath가 XML 문서에서 노드를 선택하는 것처럼, JSONPath는 JSON 데이터 구조를 탐색합니다. API 응답 분석, 데이터 추출 자동화, 설정 파일 검증 등에 널리 활용되며, 이 도구를 통해 경로 표현식을 작성하고 즉시 결과를 확인할 수 있습니다.
📋 JSONPath 문법
| 표현식 | 설명 | 예시 |
|---|---|---|
| $ | 루트 객체 | $ |
| .key | 속성 접근 | $.store.name |
| [n] | 배열 인덱스 | $.books[0] |
| [*] | 모든 요소 | $.books[*].title |
| .. | 재귀 탐색 | $..price |
💡 활용 사례
- REST API 응답에서 필요한 데이터만 추출
- 복잡한 JSON 설정 파일에서 특정 값 조회
- 테스트 자동화에서 응답 검증
- jq, Python jsonpath-ng 등 라이브러리 표현식 검증
자주 묻는 질문
JSONPath와 JSON Pointer의 차이점은 무엇인가요?▼
JSONPath는 와일드카드와 필터 기능을 지원하는 쿼리 언어인 반면, JSON Pointer(RFC 6901)는 단순 경로 지정만 가능합니다. JSONPath가 더 유연하지만, JSON Pointer는 표준화되어 있습니다.
모든 JSONPath 문법이 지원되나요?▼
이 도구는 기본 문법(속성 접근, 배열 인덱스, 와일드카드)을 지원합니다. 필터 표현식(?())이나 슬라이스([start:end])는 부분적으로 지원됩니다.
JSONPath 결과가 여러 개일 때 어떻게 되나요?▼
와일드카드(*)를 사용하면 여러 값이 배열로 반환됩니다. 예를 들어 $.books[*].title은 모든 책의 제목을 배열로 반환합니다.