값과 위치를 함께 보는 질의
JSON 자료를 루트와 자식으로 이어진 트리로 보고 각 값과 그 위치를 노드로 다룬다. 질의는 루트에서 시작해 선택 단계를 이어 간다. 객체에서는 항목의 값이 선택 대상이며 항목 이름 자체를 별도 노드로 고르는 것은 아니다.
하나 이상의 값을 고르는 방법
객체 이름과 배열 인덱스로 특정 자식을 고를 수 있다. 와일드카드는 여러 자식을 선택하고 하위 탐색은 더 깊은 후손까지 살핀다. 배열 슬라이스는 시작과 끝 및 간격으로 범위를 정하며 필터는 현재 노드를 기준으로 조건을 평가한다. 점 표기와 대괄호 표기를 함께 사용할 수 있다.
JSON 포인터와의 차이
JSON 포인터가 특정 위치를 가리키는 데 쓰인다면 JSONPath는 질의에 맞는 여러 값을 선택할 수 있다. 일치하는 결과가 없을 수도 있다. RFC 명세는 언어나 실행 환경마다 달라졌던 구현의 의미를 공통으로 정리하지만 기존 구현 모두와 완전한 하위 호환을 뜻하지는 않는다.