JSON 포인터 리졸버 (RFC 6901)
/user/roles/0 같은 RFC 6901 JSON 포인터를 JSON 문서에서 해석 — ~0/~1 이스케이프와 URI 프래그먼트(#/…) 지원 — 문서 내 모든 포인터의 클릭 가능한 목록 포함, 브라우저에서.
해석된 값
"admin"
이 문서의 포인터 (클릭하여 사용)
| (루트) | {…} (3) |
| /user | {…} (3) |
| /user/id | 42 |
| /user/name | "Ada" |
| /user/roles | […] (2) |
| /user/roles/0 | "admin" |
| /user/roles/1 | "editor" |
| /a~1b | "slash in key" |
| /settings | {…} (2) |
| /settings/theme | "dark" |
| /settings/limits | {…} (1) |
| /settings/limits/max | 100 |
빈 포인터 = 전체 문서. 키의 /는 ~1, ~는 ~0으로 이스케이프. #/a/b 같은 URI 프래그먼트도 가능.
사용법
- JSON 문서를 붙여넣거나 편집.
- JSON 포인터 입력(예: /user/name 또는 #/settings/limits/max)하거나 포인터 목록의 행 클릭.
- 해석된 값을 읽으세요. 키 안의 슬래시는 ~1, 틸드는 ~0으로 이스케이프합니다.
자세한 설명
펼치기접기
JSON 포인터는 /user/roles/0 같은 슬래시 구분 경로로 JSON 문서 안의 한 값을 가리키는 표준(RFC 6901) 방식입니다. JSON Schema $ref, JSON Patch, JSON Merge Patch, 많은 OpenAPI 도구가 내부적으로 이를 사용합니다. 문서와 포인터를 붙여넣으면 어떤 값을 선택하는지 보기 좋게 출력합니다. 리졸버는 스펙을 정확히 구현합니다: 빈 포인터는 전체 문서를 반환하고, ~1은 리터럴 슬래시, ~0은 리터럴 틸드를 뜻하므로(따라서 "a/b" 키는 /a~1b로 접근), 배열 인덱스는 0이거나 선행 0 없는 부호 없는 정수여야 하며, 특수 토큰 "-"는 읽기 시 값이 없습니다. URI 프래그먼트 포인터(#/user/roles/0)도 받아 퍼센트 디코딩합니다. 또한 문서 내 모든 포인터를 값 미리보기와 함께 나열해, 클릭으로 임의 노드의 정확한 경로를 찾을 수 있습니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
자주 묻는 질문
JSON 포인터는 JSONPath와 어떻게 다른가요?
JSON 포인터(RFC 6901)는 단순한 슬래시 구분 경로로 정확히 한 값을 가리키며 JSON Schema·JSON Patch·OpenAPI가 사용합니다. JSONPath는 와일드카드·필터·재귀 하강으로 여러 값을 매칭할 수 있는 쿼리 언어입니다. 전자는 이 도구를, 후자는 JSONPath 테스터를 쓰세요.
~0과 ~1은 무엇인가요?
/가 토큰을 구분하고 ~가 이스케이프 문자이므로, 키 안의 리터럴 /는 ~1, 리터럴 ~는 ~0으로 씁니다. 따라서 "a/b" 멤버는 /a~1b로, "m~n"은 /m~0n으로 접근합니다. 언이스케이프 시 ~1을 ~0보다 먼저 치환하는데, RFC가 요구하는 그대로입니다.
빈 포인터는 무엇을 반환하나요?
빈 문자열은 전체 문서를 가리키는 유효한 포인터이므로 전체 JSON 값을 반환합니다. "/"는 비어 있지 않습니다 — 빈 문자열 토큰 하나를 가진 포인터로, 키가 빈 문자열인 멤버를 선택합니다.
포인터 해석이 왜 실패했나요?
흔한 이유: 멤버나 배열 인덱스가 없음, 배열 인덱스에 선행 0이 있음(0, 1, 2…만 유효, 패딩 불가), "-" 사용(읽기 시 값 없음), 또는 비어 있지 않은 포인터가 /로 시작하지 않음. 오류 메시지가 실패한 토큰을 정확히 알려 줍니다.
관련 도구
상대 URL 해석기 (RFC 3986)
RFC 3986대로 상대 참조를 기준 URI에 대해 해석하고, 점 세그먼트 추적과 브라우저의 답을 나란히 보여 줍니다.
네트워크
JSON Patch 빌더 (RFC 6902)
source/target 쌍에서 RFC 6902 JSON Patch 생성, 또는 기존 patch를 문서에 적용. add·remove·replace·move·copy·test 작업 지원.
개발
JSON 스키마 검사기
JSON 문서를 JSON 스키마로 브라우저에서 검사합니다. 오류마다 JSON 포인터, 문서에서의 줄 번호, 실패한 키워드를 보여줍니다.
개발
JSONPath 테스터
JSON 문서에 대해 JSONPath 쿼리($.store.book[*].author, $..price) 실행, 일치 값 확인.
개발
JSON 정규화 (RFC 8785 JCS)
RFC 8785대로 JSON을 정규화하고 해시합니다: UTF-16 키 순서, ECMAScript 숫자 표기, 공백 제거, 그리고 그 바이트의 SHA-256.
개발
JSON 머지 패치 (RFC 7386)
RFC 7386 JSON 머지 패치를 적용하거나 생성하고, 변경 내역을 전부 나열합니다 — 키를 설정하는 게 아니라 삭제하는 null까지.
개발