사용방법
- 예시 불러오기를 클릭하거나 JSON 소스 데이터에 API 응답 또는 설정 파일을 붙여넣으세요.
- JSONPath 표현식 창에
$.store.book[*].author또는$..author와 같은 쿼리를 입력하세요. - 매칭 결과에서 노드 개수, 경로 및 값을 확인하고, 결과 JSON 복사를 클릭해 배열 형식의 결과를 가져오세요.
- 구문이 기억나지 않을 땐 내장된 치트시트를 참조하세요. 본 평가기는 일반적인 JSONPath 패턴을 지원하며, 매우 특수한 방언(Dialect)의 경우 실행 환경에 맞게 다시 확인해야 합니다.
핵심 기능
- 실시간 JSONPath 평가: 입력과 동시에 쿼리가 재실행되어 API 응답, 설정 파일 및 테스트 페이로드를 즉각적으로 디버깅할 수 있습니다.
- 안전한 로컬 처리: JSON 파싱, 경로 매칭 및 결과 복사 등 모든 작업이 서버 전송 없이 현재 브라우저 내에서 수행됩니다.
- 경로 기반 결과 표시: 각 매치마다 해당 JSONPath 위치와 포맷된 값이 함께 표시되어 중첩된 데이터를 쉽게 확인할 수 있습니다.
- 구문 강조 미리보기: 유효한 JSON은 문자열, 숫자, 부울, null 값에 대한 가벼운 구문 강조와 함께 표시됩니다.
- 내장된 구문 치트시트: 루트 선택자, 점 표기법, 배열 와일드카드, 재귀 하강, 슬라이스 및 공통 필터 표현식을 도구 내에서 바로 확인하세요.
관련 도구
안전한 JSON 포매터: 브라우저 로컬에서 JSON을 포맷팅, 유효성 검사 및 수정하세요. 압축, 에러 강조, TypeScript/Zod 자동 생성, XML 변환 등 모든 기능이 안전하게 처리됩니다.
브라우저 로컬에서 JSON 객체 또는 배열을 CSV로 변환합니다. 중첩된 필드를 평면화하고, 결과를 미리 본 후 데이터 업로드 없이 복사하거나 다운로드하세요.
브라우저 로컬에서 CSV 텍스트나 파일을 JSON 배열로 실시간 변환하세요. 헤더, 쉼표/세미콜론/탭 구분자, 파일 드래그 앤 드롭, 복사 및 다운로드를 지원하며 데이터가 업로드되지 않습니다.
브라우저 로컬 환경에서 두 JSON 문서를 비교하세요. 객체의 키를 정렬하여 시맨틱 비교(Semantic Diff)를 수행하며, 키 순서로 인한 노이즈를 방지하고 추가, 삭제, 수정된 필드를 시각적으로 표시합니다. 데이터는 업로드되지 않습니다.
서식이 지정된 JSON을 한 줄로 압축하고, 들여쓰기와 줄바꿈을 제거합니다. 원본 크기, 압축 크기, 절약된 바이트 및 절약 비율을 실시간으로 비교하세요.
무료 JSON to TypeScript 변환 도구입니다. API 페이로드에서 TypeScript 인터페이스와 타입을 즉시 생성하세요. 서버 전송 없이 100% 클라이언트 측에서 안전하게 처리됩니다.
브라우저 로컬에서 YAML을 포맷된 JSON으로 변환하세요. 실시간 변환, 다중 문서 YAML, 라인 기반 오류 표시, 복사 및 데이터 저장 없는 JSON 다운로드를 지원합니다.
브라우저 로컬에서 JSON을 포맷팅된 YAML로 변환합니다. 실시간 변환, 엄격한 유효성 검사, 복사 및 데이터 저장 없는 안전한 YAML 다운로드를 지원합니다.
계산 논리
이 도구는 브라우저 내부에서 자바스크립트 JSONPath 평가 로직을 사용합니다. JSON.parse로 텍스트를 파싱한 뒤, 표현식에 따라 객체/배열 토큰, 속성, 인덱스, 와일드카드, 재귀 하강, 슬라이스, 필터 비교 등을 순회합니다. 모든 과정은 현재 페이지 메모리에서만 진행되므로, 사용자 기록이나 내부 구성, 중요 키가 포함된 API 페이로드 검사에도 안전합니다.
호환성 문제를 피하기 위해 $.store.book[0].title, $..author, $.store.book[*], $.store.book[?(@.price < 10)] 등 널리 사용되는 공통 JSONPath 패턴에 집중하여 구현되었습니다. JSONPath 방언은 생태계마다 조금씩 다를 수 있으므로 복잡한 쿼리는 대상 실행 환경에서 한 번 더 테스트하는 것이 좋습니다.
FAQ
사용자 데이터가 포함된 API 응답을 이곳에 붙여넣어도 안전한가요?
네. 이 도구는 100% 클라이언트 측에서 실행되므로 귀하의 JSON 데이터는 절대 서버로 전송되지 않습니다.
필터(Filter) 표현식도 지원하나요?
네. [?(@.price < 10)] 및 [?(@.category == "fiction")]과 같은 일반적인 비교 필터를 지원합니다.
왜 동일한 JSONPath가 다른 도구에서는 다른 결과를 반환할 수 있나요?
JSONPath는 역사적으로 여러 방언이 존재합니다. JS, Java, Python 평가기는 예외 상황에서 다르게 동작할 수 있습니다. 본 도구는 현대적이고 보편적인 쿼리 구문을 따릅니다.
결과가 항상 배열(Array)인 이유는 무엇인가요?
JSONPath 쿼리는 0개, 1개 또는 여러 개의 노드와 매칭될 수 있습니다. 결과를 일관성 있게 복사하고 활용할 수 있도록 모든 출력은 JSON 배열 형식으로 정규화됩니다.
오프라인에서도 사용할 수 있나요?
네. 페이지가 로드된 후에는 JSON 파싱 및 쿼리에 네트워크 연결이 필요하지 않으므로 오프라인 상태에서도 정상 작동합니다.