본문으로 건너뛰기
SPCX Tools

JSONPath 테스터

브라우저에서 즉시 JSON 데이터에 대한 JSONPath 표현식을 평가하고 테스트하세요.

로컬 실행 — 파일이 기기 외부로 전송되지 않습니다

도구 불러오는 중…

JSONPath 테스터 사용 방법

  1. 1왼쪽 입력 패널에 JSON 데이터를 붙여넣거나 직접 입력하세요. "Sample"을 클릭하여 예제 데이터를 불러올 수도 있습니다.
  2. 2페이지 상단의 입력 필드에 JSONPath 표현식을 입력하세요.
  3. 3입력 필드 아래의 빠른 예제 버튼을 클릭하여 자주 사용되는 쿼리 패턴을 확인해 보세요.
  4. 4오른쪽 패널에서 일치하는 결과, 총 일치 항목 수, 일치하는 요소의 정확한 경로를 확인하세요.

빠르고 안전한 JSONPath 테스터

크거나 복잡하게 중첩된 JSON 데이터에서 원하는 정보만 추출하는 작업은 꽤 번거로울 수 있습니다. 이 JSONPath 테스터는 쿼리를 작성하고 테스트하며 디버깅할 수 있는 실시간 환경을 제공합니다. 표현식을 입력하는 즉시 JSON 데이터를 평가하여, 추출된 값과 해당 값이 위치한 정확한 경로를 함께 보여줍니다.

이 도구는 100% 클라이언트 단에서 작동하는 JSONPath 평가기(evaluator)로, 모든 데이터 처리가 사용자의 기기에서 로컬로 이루어집니다. JSON 데이터는 절대 서버로 전송되지 않습니다. 따라서 데이터 유출이나 개인정보 침해 걱정 없이 실제 서비스의 API 응답 데이터, 데이터베이스 추출본, 민감한 설정 파일 등을 안심하고 붙여넣어 사용할 수 있습니다.

개발자를 위한 핵심 기능

  • 실시간 평가: JSON 데이터나 쿼리를 수정하는 즉시 결과가 업데이트됩니다. 실행 버튼을 누르거나 서버 응답을 기다릴 필요가 없습니다.
  • 안전한 파싱: 안전한 평가 엔진(eval: 'safe')을 사용하여 쿼리를 처리하므로, 복잡한 필터 표현식을 완벽하게 지원하면서도 악의적인 코드 실행을 원천 차단합니다.
  • 경로 추출: 일치하는 값을 보여줄 뿐만 아니라, 검색된 모든 항목의 절대 경로를 함께 생성합니다. 이는 나중에 특정 노드를 프로그래밍 방식으로 업데이트해야 할 때 매우 유용합니다.
  • 기본 제공 예제: JSONPath 문법이 처음이라면, 샘플 서점 데이터를 불러온 뒤 미리 작성된 여러 표현식을 클릭해 보며 다양한 연산자의 작동 방식을 쉽게 익힐 수 있습니다.

JSONPath 쿼리 작성 방법

JSONPath는 JSON 객체와 배열을 탐색할 때 고유한 문법을 사용합니다. JSONPath 표현식을 테스트하려면 먼저 다음의 기본 연산자를 이해하는 것이 좋습니다.

  • $는 루트 객체나 배열을 의미합니다. 모든 절대 JSONPath 표현식은 이 기호로 시작합니다.
  • @는 현재 처리 중인 노드를 의미합니다. 주로 필터 표현식 내에서 사용됩니다.
  • . 또는 []는 하위 속성을 선택할 때 사용하는 연산자입니다. 예를 들어 $.store.book과 $['store']['book']은 동일한 결과를 반환합니다.
  • ..는 재귀 탐색 연산자입니다. 중첩 깊이와 상관없이 JSON 트리 전체에서 특정 키를 검색합니다(예: $..price는 모든 가격 값을 찾습니다).
  • *는 객체나 배열의 모든 요소와 일치하는 와일드카드입니다. 예를 들어 $.store.*는 store 객체 바로 아래에 있는 모든 요소를 선택합니다.
  • [?()]는 필터 표현식을 적용합니다. 괄호 안에 표준 논리 연산자를 사용할 수 있습니다. 예를 들어 $..book[?(@.author == 'Nigel Rees')]는 해당 저자가 쓴 모든 책을 찾습니다.
  • [start:end:step]은 파이썬(Python)과 유사하게 배열을 슬라이싱할 때 사용합니다. $.store.book[-1:]은 배열의 마지막 책을 선택합니다.

주요 활용 사례

API 개발 및 디버깅. 최신 REST 및 GraphQL API는 종종 방대한 JSON 페이로드를 반환합니다. 응답을 파싱하고 검사하기 위해 임시 코드를 작성하는 대신, 이 JSONPath 온라인 도구에 페이로드를 붙여넣어 데이터 구조가 올바른지, 쿼리가 올바른 필드를 추출하는지 빠르게 확인할 수 있습니다.

자동화 테스트. 통합 테스트나 E2E 테스트(Postman, RestAssured, Playwright 등의 도구 사용)를 작성할 때, JSON 응답에 특정 값이 존재하는지 검증해야 하는 경우가 많습니다. JSONPath 테스터를 사용하면 테스트 코드에 하드코딩하기 전에 쿼리 문자열을 완벽하게 다듬을 수 있습니다.

데이터 추출 및 변환. 데이터를 마이그레이션하거나 ETL(추출, 변환, 적재) 파이프라인을 구축할 때 특정 배열이나 객체만 분리해야 하는 경우가 자주 발생합니다. 이 도구를 사용하면 대상 데이터를 추출하는 데 필요한 정확한 경로를 파악할 수 있습니다. 원본 데이터가 XML인 경우 먼저 XML to JSON 변환기를 사용할 수 있으며, 데이터를 검사하기 전에 minified 데이터를 보기 좋게 정렬해야 한다면 JSON Formatter가 유용합니다. 또한 JSON Compare 도구를 사용하여 변환 전후의 데이터가 어떻게 달라졌는지 확인할 수 있습니다.

자주 묻는 질문 (FAQ)

JSONPath란 무엇인가요?
JSONPath는 XML에서 XPath를 사용하는 것과 유사한 JSON 데이터용 쿼리 언어입니다. 간결한 문자열 표현식을 사용하여 복잡한 JSON 구조에서 특정 노드, 배열 또는 값을 선택하고 추출할 수 있습니다.
내 JSON 데이터는 안전한가요?
네. 이 도구는 브라우저에서 완전히 로컬로 실행됩니다. JSON 데이터와 쿼리는 서버로 절대 업로드되지 않으므로 민감한 API 응답, 설정 파일 또는 독점 데이터를 안전하게 테스트할 수 있습니다.
특정 조건에 따라 데이터를 필터링하려면 어떻게 해야 하나요?
[?(@.property == 'value')] 구문을 사용하여 필터 표현식을 작성할 수 있습니다. 예를 들어, $.store.book[?(@.price < 10)]은 store 배열에서 가격이 10 미만인 모든 책을 반환합니다.
일치하는 요소의 정확한 위치를 확인할 수 있나요?
네. 메인 결과 출력 아래에 펼쳐볼 수 있는 "Paths" 섹션이 있습니다. 이 섹션을 열면 결과 세트에서 일치하는 모든 개별 요소의 정확한 절대 JSONPath가 표시됩니다.
"Invalid JSON" 오류가 발생하는 이유는 무엇인가요?
JSON은 엄격한 형식을 요구합니다. 모든 키와 문자열 값이 작은따옴표가 아닌 큰따옴표로 묶여 있는지, 객체나 배열의 마지막 항목 뒤에 불필요한 쉼표가 남아 있지 않은지 확인하세요.
이 도구는 어떤 JSONPath 사양을 사용하나요?
이 도구는 널리 사용되는 jsonpath-plus 라이브러리를 사용합니다. 원본 JSONPath 사양을 완벽하게 지원하며, 더 복잡한 쿼리를 위한 안전한 확장 기능을 추가로 제공합니다. JavaScript eval() 함수를 사용하지 않고 표현식을 안전하게 평가합니다.