JSONPath 테스터
JSON 문서에 대해 JSONPath 쿼리($.store.book[*].author, $..price) 실행, 일치 값 확인.
일치 (3 건)
[ "Evelyn Waugh", "Herman Melville", "Nigel Rees" ]
루트 $, 자식 .key, 재귀 탐색 ..key, 인덱스 [n]과 [-1], 와일드카드 [*], 대괄호 표기 ['key']를 지원합니다. 필터와 슬라이스는 지원하지 않으니 jq를 쓰세요.
사용법
- 상단 박스에 JSON 붙여넣기(기본 샘플로 시작 가능).
- JSONPath 식 작성 — 모르면 예시 칩 클릭.
- 일치 값 확인 또는 JSON 배열로 복사.
자세한 설명
펼치기접기
JSON 문서와 JSONPath 식을 붙여 넣으면 문서에 대해 경로를 평가해 일치하는 값 전부를 JSON 배열로 보여 줍니다. 흔히 쓰는 부분집합을 지원합니다. 루트 $, 점 탐색 .key, 색인 [n](양수와 음수), 와일드카드 [*], 재귀 하강 .., 대괄호 따옴표 키 ['key']입니다. jq, Bruno, 포스트맨, k6, 클라우드워치 질의에 붙여 넣기 전에 JSONPath가 맞는지 확인할 때 씁니다.
이 부분집합은 의도된 것이고 어디서 끊기는지 알아 둘 값어치가 있습니다. $.items[?(@.price > 10)] 같은 필터 식, [1:3] 같은 배열 구간, [0,2] 같은 합집합은 구현되어 있지 않으며, 조용히 빈 결과를 내는 대신 지원하지 않는 대괄호 식이라고 알려 줍니다. 점 탐색은 식별자 모양의 이름만 받으므로, 공백이나 하이픈이 든 키는 대괄호 따옴표 형태로 써야 합니다.
더 큰 문제는 JSONPath가 2024년 RFC 9535로 표준화되기 전까지 스무 해 동안 블로그 글이었다는 점이고, 그 사이에 자란 구현들은 서로 일치하지 않습니다. 결과가 돌아오는 순서, 재귀 하강이 노드를 자식보다 먼저 방문하는지 나중에 방문하는지, 속성이 없을 때 필터가 어떻게 동작하는지, 결과가 평평한 목록인지 노드 참조의 집합인지가 모두 라이브러리마다 다릅니다. 여기서 한 가지로 동작하는 경로가 붙여 넣을 도구에서는 다르게 동작할 수 있는데, 결과의 모양을 먼저 확인하는 우회가 값어치를 하는 이유가 바로 이것입니다.
아무것도 못 찾은 것과 null을 찾은 것은 출력에서 달라 보이고 뜻도 다릅니다. 빈 배열은 경로가 아무 노드도 고르지 못했다는 뜻이고, [null]은 노드 하나를 골랐는데 그 값이 마침 null이라는 뜻입니다. 어떤 필드가 없음을 단언하려고 경로를 쓸 때 앞의 것을 뒤의 것으로 읽는 혼동이 흔합니다.
모든 평가는 붙여 넣은 문서에 대해 페이지 안에서 이루어집니다. 아무 데도 전송하지 않는데, 문서가 운영 환경의 API 응답일 때 중요한 부분입니다.
자주 묻는 질문
JSONPath 방언?
Goessner / RFC 9535 문법의 실용적 부분집합 — 루트 $·자식 .key·재귀 ..·인덱스 [n]·와일드카드 *·따옴표 키 ['x']. 필터식([?(@.price < 10)])·슬라이스([0:2])·유니온([0,2])·스크립트식 미지원. 그건 jq 사용.
경로가 아무것도 반환 안 하는 이유?
흔한 원인: 키명 오타(JSONPath은 대소문자 구분)·일부 항목에 필드 없음(재귀 ..은 오류 없이 건너뜀)·입력이 유효 JSON 아님. 더 단순한 경로 먼저 시도해 데이터 확인.
$..price가 모든 깊이의 price 찾나요?
예 — ..는 재귀 하강, price는 price 키 있는 노드로 필터링. 값을 반환하고 포함 객체는 반환 안 함. 컨테이너 얻으려면 $..* 사용 후 직접 필터링.
대용량 API 응답에 실행 가능?
로컬에서 예 — 파싱·순회는 수 MB 문서까지 빠름. 실제 API는 보통 커맨드라인 jq 또는 Bruno/Postman 내장 JSONPath 사용; 이 테스터는 커밋 전 식 자체 반복용.
관련 도구
XPath 테스터
브라우저에서 XML이나 HTML에 XPath 식을 실행해 일치하는 모든 노드를 봅니다. 네임스페이스 접두어와 해석 오류도 함께 보고합니다.
개발
JSON 포인터 리졸버 (RFC 6901)
/user/roles/0 같은 RFC 6901 JSON 포인터를 JSON 문서에서 해석 — ~0/~1 이스케이프와 URI 프래그먼트(#/…) 지원 — 문서 내 모든 포인터의 클릭 가능한 목록 포함, 브라우저에서.
개발
JSON 스키마 검사기
JSON 문서를 JSON 스키마로 브라우저에서 검사합니다. 오류마다 JSON 포인터, 문서에서의 줄 번호, 실패한 키워드를 보여줍니다.
개발
쿼리 문자열 ↔ JSON 변환기
URL 쿼리 문자열을 JSON 객체로, 그리고 그 반대로 변환합니다. 브라우저에서 동작합니다.
개발
Git 설정 우선순위 테스터
git 설정 파일을 붙여 넣으면 키마다 어떤 값이 이기는지, 그 값이 나온 범위·파일·줄, 무엇을 덮었는지, 어떤 includeIf가 걸렸는지 보여줍니다.
개발
URL 파서
URL을 프로토콜·호스트·포트·경로·쿼리·해시로 분해. 쿼리 파라미터를 표로 디코딩.
개발