JSONPath 테스터
JSON 문서를 붙여넣고 $..book[?(@.price<10)] 같은 JSONPath 표현식을 입력하세요. 테스터가 문서에 대해 평가해 일치하는 모든 값을 각 일치의 정확한 경로와 함께 보여줍니다. 스크립트나 API 사양(Postman, k6, JMeter 모두 JSONPath를 사용)에 붙여넣을 쿼리를 검증하는 데 유용합니다.
JSONPath 표현식 테스트 방법
-
1
JSON 문서 붙여넣기
유효한 JSON이면 무엇이든: 객체, 배열, 깊이 중첩된 것.
-
2
표현식 입력
루트는 `$`로 시작합니다. 자식은 `.`, 재귀 하강은 `..`, 와일드카드는 `[*]`를 사용합니다.
-
3
일치 실시간 확인
각 일치는 값과 전체 JSONPath와 함께 표시되며 원본 문서에서 강조됩니다.
-
4
결과 복사
일치를 JSON 배열로 복사하거나, 다운스트림 코드에서 쓸 개별 경로를 복사합니다.
JSONPath 구문 참조
| 표현식 | 의미 |
|---|---|
$ |
루트 요소 |
$.store |
store라는 $의 자식 |
$["store"] |
같음, 대괄호 형식 |
$..author |
모든 깊이의 모든 author 속성 |
$.store.book[*] |
store의 모든 책 |
$.store.book[0] |
첫 번째 책 |
$.store.book[-1:] |
마지막 책 |
$.store.book[0:2] |
처음 두 책(슬라이스) |
$.store.book[?(@.isbn)] |
isbn 속성이 있는 책 |
$.store.book[?(@.price < 10)] |
10보다 싼 책 |
$.store.book[?(@.category == "fiction")] |
소설책 |
$..* |
어디에나 있는 모든 값 |
필터 표현식
필터 표현식은 현재 노드를 참조하려고 @를 사용합니다. 테스터는 일반 연산자 ==, !=, <, >, <=, >=, &&, ||와 정규식 =~를 지원합니다.
$.items[?(@.qty >= 10 && @.price < 50)]
JSONPath 방언
JSONPath 구현은 여러 가지이며 작은 비호환성이 있습니다. 이 테스터는 Goessner 원본 사양과 RFC 9535 개선안을 따르며, 다음과 호환됩니다:
- Jayway JsonPath (Java)
- jsonpath-plus (JavaScript)
- jsonpath-rw (Python)
- jq 기본 경로 표현식
호환되지 않는 기능(임의의 JS가 있는 스크립트 표현식 등)은 오류 패널에 표시됩니다.
JSONPath가 전체 파서보다 나을 때
- 테스트 단언: Postman의
pm.expect(jsonData).to.have.jsonPath(...)는 경로를 받습니다. - 설정 추출: 라이브러리 없이 거대한 API 응답에서 값 하나를 뽑아냅니다.
- 부하 테스트 스크립트: k6, JMeter, Gatling 모두 검사에 JSONPath를 지원합니다.
- Kubernetes / AWS CLI:
--query와--jsonpath플래그로 명령줄에서 출력을 다듬을 수 있습니다.
흔한 실수
- 배열에
.사용.$.users.0.name은 틀립니다.$.users[0].name을 쓰세요. - 깊이를 위한
..잊기.$.name같은 경로는 최상위name만 일치합니다. 전부 원하면$..name을 쓰세요. - JSONPath와 jq 혼동. jq는 제어 흐름과 변환이 있는 상위집합입니다. JSONPath는 순수히 추출용입니다.
- 정규식 앵커링.
=~ /foo/는 부분 문자열을 일치시킵니다. 정확한 일치는/^foo$/를 쓰세요.
자주 묻는 질문
JSONPath는 순수 추출 언어입니다, 선택, 필터, 슬라이스. jq는 제어 흐름, 변수, 함수가 있는 완전한 쿼리/변환 언어입니다. 단순 추출에는 JSONPath가 더 이식성이 좋고, 변환에는 jq를 쓰세요.
Goessner 원본 사양과 RFC 9535 개선안으로, Jayway JsonPath(Java)와 jsonpath-plus(Node)에 맞습니다. 방언별 확장(임의 코드가 있는 스크립트 표현식)은 지원되지 않습니다.
네. $..book[?(@.title =~ /^Harry.*/)]는 제목이 “Harry”로 시작하는 모든 책을 일치시킵니다. 완전 일치 동작에는 ^와 $를 쓰세요.
네. JSON과 JSONPath 평가기 모두 브라우저에 있습니다. 문서와 쿼리는 탭을 떠나지 않습니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이메일 검증기
이메일 주소를 검증합니다. RFC 5322 구문 검사, 실시간 MX 레코드 조회, 그리고 로컬 파트, 도메인, 길이 정보를 제공합니다. 이메일은 전송되지 않습니다.
EditorConfig 생성기
들여쓰기 스타일과 크기, 줄 끝, 문자 인코딩, 공백 규칙을 지정해 .editorconfig 파일을 생성하고 IDE와 편집기 전반의 형식을 일관되게 유지하세요.
이 도구는 다른 언어로도 제공됩니다
- Công cụ kiểm thử JSONPath [VI]
- JSONPath-Tester [DE]
- Testador de JSONPath [PT]
- JSON Path Tester [ID]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSONPath-testare [SV]
- JSON Path Tester [NL]
- Testeur JSONPath [FR]
- เครื่องมือทดสอบ JSON Path [TH]
- Tester JSONPath [PL]
- JSONPath テスター [JA]
- Probador de JSONPath [ES]
- JSONPath Tester [EN]
- Tester JSONPath [IT]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]