$['store']['book'][0]{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
}JSON에 JSONPath 질의를 적용해 값을 뽑아냅니다. RFC 9535 기준이며 각 결과의 정규화 경로도 보여줍니다.
예제 질의
결과
2개
아래에 값과 정규화 경로가 나옵니다
$['store']['book'][0]{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
}$['store']['book'][2]{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
}$['store']['book'][0]처럼 대괄호만 쓴 형태이고, 그대로 다시 질의에 넣으면 같은 값 하나가 나옵니다.$..book[?(@.price<10)]처럼 괄호를 감싸는 표기도 받지만, 표준 표기는 괄호 없는 쪽입니다.JSON에서 원하는 값을 골라내는 질의 언어입니다. XML의 XPath에서 따온 것으로, $는 뿌리, .name은 멤버, [0]은 배열 첨자, ..은 자손 전체, [?<식>]은 거르기를 뜻합니다. 2024년 RFC 9535로 표준화되었습니다.
JSONPath는 값 하나가 아니라 조건에 맞는 값들의 목록을 내는 언어이기 때문입니다. $.a.b처럼 하나만 나올 것 같은 질의도 목록으로 나오고, 맞는 값이 없으면 빈 목록이 됩니다. 코드에서 쓸 때 첫 번째 요소를 꺼내는 처리를 따로 해야 합니다.
결과 값이 어디서 왔는지 나타내는 표준 형태의 경로입니다. $['store']['book'][0]처럼 대괄호와 따옴표만 씁니다. 그대로 다시 질의에 넣으면 그 값 하나가 나오므로, 어느 위치의 값인지 되짚어 볼 때 씁니다.
@가 지금 보고 있는 값입니다. [?@.isbn]처럼 멤버가 있는지 보거나, [?@.price<10]처럼 비교할 수 있습니다. ==, !=, <, <=, >, >= 와 &&, ||, ! 을 씁니다. 없는 멤버를 비교하면 그 항목은 걸러집니다.
표준이 되기 전에는 구현체마다 문법이 조금씩 달랐습니다. 거르기를 [?(@.price<10)]처럼 괄호로 감싸는 표기가 흔했는데 표준은 괄호 없는 쪽입니다. 이 도구는 둘 다 받습니다. 배열 자르기의 음수 간격 같은 세부 동작도 표준을 따릅니다.
JSON 포맷터(json-format)는 전체를 보기 좋게 정리하고, 이 도구는 필요한 값만 골라냅니다. 큰 응답에서 특정 필드만 확인할 때 이 도구가 낫습니다.
마지막 검증: 2026년 8월 29일 · 결과는 참고용 추정치입니다.