도구스개발

JSONPath 평가기

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
}
JSONPath 는 결과가 언제나 목록입니다. 하나만 나와도 목록이고 없으면 빈 목록입니다. “값이 없으면 null” 같은 편의가 없는 것이 표준의 성질이라, 코드에서 쓸 때 첫 번째 요소를 꺼내는 처리를 따로 해야 합니다.
각 결과에 붙은 정규화 경로는 그 값이 어디서 왔는지 알려줍니다.$['store']['book'][0]처럼 대괄호만 쓴 형태이고, 그대로 다시 질의에 넣으면 같은 값 하나가 나옵니다.
RFC 9535(2024) 기준입니다. 오래 구현체마다 제각각이던 문법이 표준이 되면서 규칙이 정해졌습니다. 예전 구현에서 쓰던 $..book[?(@.price<10)]처럼 괄호를 감싸는 표기도 받지만, 표준 표기는 괄호 없는 쪽입니다.

사용 방법

  1. 1JSON을 붙여넣습니다.
  2. 2JSONPath 질의를 입력합니다. 예제를 눌러 시작해도 됩니다.
  3. 3결과와 각 값의 정규화 경로를 확인합니다.

자주 묻는 질문

JSON에서 원하는 값을 골라내는 질의 언어입니다. XML의 XPath에서 따온 것으로, $는 뿌리, .name은 멤버, [0]은 배열 첨자, ..은 자손 전체, [?<식>]은 거르기를 뜻합니다. 2024년 RFC 9535로 표준화되었습니다.

JSONPath는 값 하나가 아니라 조건에 맞는 값들의 목록을 내는 언어이기 때문입니다. $.a.b처럼 하나만 나올 것 같은 질의도 목록으로 나오고, 맞는 값이 없으면 빈 목록이 됩니다. 코드에서 쓸 때 첫 번째 요소를 꺼내는 처리를 따로 해야 합니다.

결과 값이 어디서 왔는지 나타내는 표준 형태의 경로입니다. $['store']['book'][0]처럼 대괄호와 따옴표만 씁니다. 그대로 다시 질의에 넣으면 그 값 하나가 나오므로, 어느 위치의 값인지 되짚어 볼 때 씁니다.

@가 지금 보고 있는 값입니다. [?@.isbn]처럼 멤버가 있는지 보거나, [?@.price<10]처럼 비교할 수 있습니다. ==, !=, <, <=, >, >= 와 &&, ||, ! 을 씁니다. 없는 멤버를 비교하면 그 항목은 걸러집니다.

표준이 되기 전에는 구현체마다 문법이 조금씩 달랐습니다. 거르기를 [?(@.price<10)]처럼 괄호로 감싸는 표기가 흔했는데 표준은 괄호 없는 쪽입니다. 이 도구는 둘 다 받습니다. 배열 자르기의 음수 간격 같은 세부 동작도 표준을 따릅니다.

JSON 포맷터(json-format)는 전체를 보기 좋게 정리하고, 이 도구는 필요한 값만 골라냅니다. 큰 응답에서 특정 필드만 확인할 때 이 도구가 낫습니다.

알아두면 좋은 점

  • RFC 9535(2024) 기준으로 구현했습니다(2026-08-29 원문 확인).
  • 함수 확장(length, count, match, search, value)은 아직 지원하지 않습니다.
  • 입력한 JSON은 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 8월 29일 · 결과는 참고용 추정치입니다.