JSONPath 온라인 테스트

로컬 처리
app.jsonpath.view

다음으로도 #data={"name":"Ada"} 또는 #url=... 데이터를 넣을 수 있으며, 읽은 뒤 주소 표시줄에서 지워집니다.

사용 방법

JSONPath는 $.store.book[*].title 같은 경로로 문서에서 노드를 뽑습니다. 읽기 전용 조회이며 원문을 바꾸지 않아, 큰 응답에서 목록이나 어떤 중첩 필드를 가져올 때 맞습니다. API 테스트 어서션을 쓰거나 로그에서 한 층의 배열을 꺼낼 때, 여러 층을 손으로 꺼내는 것보다 짧습니다.

경로 추출

지원: $ 루트 노드, .. 재귀, 슬라이스, 필터. 와일드카드 [*] 로 배열의 각 원소에서 같은 이름 필드를 한 번에 꺼낼 수 있습니다.

페이지에 흔한 템플릿이 있어, 먼저 템플릿을 고른 뒤 자신의 경로로 바꾸면 됩니다.

식 디버깅

경로 한 줄을 바꾸면 바로 결과가 나와 임시 스크립트를 쓰는 것보다 빠릅니다. 식이 잘못되었거나 일치가 없으면 분명히 알려 줍니다.

트리 페이지에서 경로를 복사해 검증하면 철자 오류를 줄일 수 있습니다.

다음 단계

뽑은 배열은 이어서 CSV로 바꾸거나 타입을 생성할 수 있습니다. 경로가 맞는지 확인한 뒤 테스트 코드나 jq 스크립트에 넣으세요.

이 페이지는 원문을 수정하지 않아 읽기 전용 조사에 맞습니다.

예시

데이터
{
  "store": {
    "book": [
      { "title": "Sayings of the Century", "price": 8.95 },
      { "title": "Slightly Bad", "price": 12.99 }
    ]
  }
}
식과 결과
$.store.book[*].title

["Sayings of the Century", "Slightly Bad"]
CSS 선택자와 비슷한가요?

생각이 비슷합니다. 「어느 부분인지」를 경로로 기술하고, 반복으로 값을 꺼내지 않습니다.

필터는 어떻게 쓰나요?

흔한 쓰기는 $..book[?(@.price<10)] 같은 조건입니다. 문법은 이 페이지 엔진을 따릅니다.

결과가 없는 이유는?

경로와 실제 구조가 다른 경우가 가장 흔합니다. 트리 페이지에서 키 이름, 배열 인덱스, 객체인지 배열인지를 확인하세요.

원본 JSON을 바꾸나요?

아니요. 일치한 값 목록만 출력합니다.

권장 워크플로

  1. 전체 응답을 붙여넣고 $ 부터 얕은 경로를 쓴 뒤 점차 깊게 하세요.
  2. 템플릿으로 흔한 식을 넣고 「실행」을 눌러 일치 개수를 보세요.
  3. 결과를 확인한 뒤 식을 테스트나 스크립트에 복사하세요.
  4. 일치한 객체 배열이 표가 필요하면 CSV / Excel 페이지로 가세요.

라이브러리마다 JSONPath 세부 차이가 있습니다. 이 페이지에서 통한 식을 기준으로, 사용 언어의 구현과 대조하세요.