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 평가기 모두 브라우저에 있습니다. 문서와 쿼리는 탭을 떠나지 않습니다.
관련 도구
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
Webpack 설정 생성기
순수 JavaScript, React, Vue용 webpack 5 webpack.config.js를 만드세요. TypeScript, Babel, CSS 또는 Sass, 이미지, HtmlWebpackPlugin, 개발 서버, npm install 명령까지 함께 제공합니다.
XML 포매터
일관된 들여쓰기로 XML 문서를 정렬 출력하고, 정확한 줄 번호로 적격성 오류를 잡아냅니다.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
Protocol Buffers 디코더
hex, Base64, Base64URL, 텍스트 또는 파일의 Protobuf 와이어 형식 바이트를 브라우저에서 디코딩하고 정확한 필드 후보를 확인한 뒤 비공개 보고서로 내보냅니다.
텍스트 파일 인코딩 변환기
깨진 문자를 고치기 위해 텍스트를 UTF-8, UTF-16, Latin-1, Windows-1252 등 여러 인코딩 사이에서 변환하세요.
이 도구는 다른 언어로도 제공됩니다
- Testeur JSONPath [FR]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSONPath-Tester [DE]
- JSONPath-testare [SV]
- JSONPath テスター [JA]
- JSON Path Tester [ID]
- Tester JSONPath [PL]
- Probador de JSONPath [ES]
- Testador de JSONPath [PT]
- Công cụ kiểm thử JSONPath [VI]
- เครื่องมือทดสอบ JSON Path [TH]
- JSON Path Tester [NL]
- JSONPath Tester [EN]
- Tester JSONPath [IT]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]