JSONPath 표현식을 사용하여 JSON에서 데이터 쿼리 및 추출
Features
- 고급 쿼리 구문: 와일드카드(*), 재귀적 하강(..), 배열 슬라이싱([시작:end]), 필터([?(@.price < 10)])를 포함한 전체 JSONPath 구문 지원
- 경로 표현식 템플릿: 일반적인 JSONPath 패턴에 빠르게 액세스하기 위한 미리 정의된 쿼리 템플릿
- 실시간 쿼리: 입력하는 즉시 쿼리 결과 시각화
- 정확한 추출: 깊게 중첩된 JSON 구조에서 특정 값 추출
Usage Guide
- JSON 입력: 입력 영역에 JSON 데이터를 붙여넣거나 입력하세요
- 쿼리 작성: JSONPath 표현식을 입력하거나 템플릿을 사용하세요
- 실행: 실행을 클릭하여 결과를 확인하세요
Technical Details
JSONPath 구문
JSONPath는 루트에 $, 자식 액세스에 ., 배열 인덱싱에 [], 와일드카드에 *, 재귀적 하강에 ..를 사용합니다
쿼리 엔진
쿼리 엔진은 JSONPath 표현식을 파싱하고 JSON 구조를 순회하여 일치하는 데이터를 추출합니다
사용 사례
API 테스트, 데이터 변환, 구성 쿼리 및 JSON 조작 작업에 널리 사용됩니다
Frequently Asked Questions
- 왜 결과가 비어 나오나요?
- 경로가 $ 로 시작하는지, 키 철자가 정확한지, 배열 인덱스가 유효한지 확인하세요. 먼저 단순 경로로 단계 검증을 권장합니다.
- 임의 깊이에서 키를 찾으려면?
- 재귀 하강 연산자 .. 를 사용합니다. 예: $..author
- 필터는 어떻게 작성하나요?
- [?(@.price < 10)] 형식을 사용합니다. @ 는 현재 항목을 의미하며 &&, || 로 조건을 결합할 수 있습니다.
- 빈 결과와 null 차이?
- 빈 결과는 매칭 없음, null 은 일치한 값 자체가 null 임을 의미합니다. 원본 JSON과 경로를 재확인하세요.
- 대용량 JSON에서의 성능은?
- .. 남용을 피하고 범위를 먼저 좁힌 뒤 필터링하세요. 필요 시 스트리밍 파서나 서버 측 전처리를 고려하세요.
Related Documentation
- JSONPath 공식 문서 - JSONPath 구문 및 사용법에 대한 완전한 가이드
- JSONPath Plus - 향상된 기능을 제공하는 JavaScript JSONPath 라이브러리
- JSONPath 온라인 평가기 - 실시간으로 JSONPath 표현식을 테스트할 수 있는 도구
- MDN - JSON 작업 - JavaScript에서 JSON 데이터 작업을 위한 가이드
- Wikipedia - JSONPath - JSONPath 쿼리 언어의 역사와 사용법