JSON 도구

JSON 포인터하나의 주소로 정확한 값 찾기

값을 찾고 경로 토큰을 확인하거나, 명확한 인코딩 규칙으로 주소를 생성하세요.

JSON 포인터

JSON 문서

포인터 텍스트

결과 미리보기

복사와 다운로드에는 선택한 JSON 값, 토큰 배열, 생성한 포인터 또는 변환한 토큰 전체가 포함됩니다. 아래 참고 정보는 포함되지 않습니다.

입력은 브라우저 메모리에만 있으며 업로드하거나 저장하지 않습니다.

일반 형식에서 빈 입력은 루트, /는 빈 키를 선택합니다. 조각에는 #을 포함하고 UTF-8 퍼센트 인코딩을 사용하세요. 공백과 줄바꿈은 의미가 있으며 자동으로 제거하지 않습니다.

다시 실행해 결과를 갱신하세요. 오래된 결과는 복사하거나 내려받을 수 없습니다.

JSON 포인터로 API 응답, 스키마 오류 또는 패치 경로에 표시된 위치를 확인하세요. 경로 문법이 올바르더라도 해당 필드가 문서에 존재하지 않을 수 있습니다. 이 도구는 경로 분석과 실제 값 조회를 구분해 어느 단계에서 문제가 생겼는지 보여 줍니다.

JSON Pointer 경로 조회에서는 전체 문서, 빈 키, 배열 인덱스를 구별해야 합니다. JSON 포인터 리졸버는 원본을 변경하지 않고 하나의 값을 읽습니다. 주소 생성은 문자열 토큰 배열을 사용하며, 단일 토큰 이스케이프는 JSON 문자열 인코딩과 별도로 처리합니다.

JSON 포인터를 확인하는 이유

서로 다른 세 주소 구별하기

JSON 포인터의 빈 문자열은 전체 문서, /는 이름이 빈 속성을 뜻합니다. 0이라는 토큰도 현재 값이 배열일 때만 인덱스가 됩니다. 객체에서는 일반 키일 수 있으므로, 토큰 모양만 보고 위치를 판단할 수 없습니다.

세 가지 색의 포인터가 문서 외곽, 빈 원형 키 표시의 값, 배열 첫 항목을 각각 가리킵니다.

인코딩 단계를 나누어 보기

JSON 포인터는 각 토큰을 이스케이프한 뒤 슬래시 구분자로 연결합니다. URI 조각에는 별도의 UTF-8 퍼센트 인코딩이 더해집니다. 디코딩된 토큰을 보면 슬래시가 키의 일부인지, 다음 계층으로 이동하는 구분자인지 알 수 있습니다.

기하학 토큰이 방패로 표시한 이스케이프 단계를 지나 URI 인코딩을 나타내는 작은 바이트 블록 묶음으로 이동합니다.

작업을 선택한 다음 입력하기

01

분석과 값 조회 구분

분석에는 포인터와 표현 형식만 필요합니다. 값 찾기에는 엄격한 JSON 문서도 필요합니다. 일반 형식 또는 URI 조각을 명시적으로 선택하세요. #을 보고 자동 전환하지 않습니다. 실행 버튼이나 Ctrl/Cmd+Enter로 처리합니다.

02

토큰으로 생성하거나 하나만 변환

생성에는 문자열 JSON 배열을 사용합니다. []는 루트이고 [""]는 빈 키입니다. 숫자를 넣은 [0]은 거부합니다. 이스케이프와 해제는 토큰 하나만 받아 표현 형식이나 JSON 문서를 사용하지 않습니다.

03

전체 결과 확인 후 내보내기

주 결과는 선택한 JSON, 디코딩된 토큰 배열, 생성한 주소 또는 변환된 토큰입니다. 복사와 다운로드는 참고 정보를 제외한 주 결과 전체를 내보냅니다. 예제와 지우기는 교체할 크기를 먼저 보여 주고, 적용 뒤 한 번 실행 취소해 입력·설정·결과를 복원할 수 있습니다.

원본 데이터를 바꾸지 않는 주소 확인

다섯 가지 작업

분석은 문서 없이 주소 문법을 확인하고, 값 찾기는 실제 문서를 따라갑니다. 생성은 지정한 문자열 토큰을 연결하며 이스케이프와 해제는 단일 토큰을 변환합니다. 값 찾기 외에는 관련 없는 원본 문서 입력을 무시합니다.

일반 형식과 조각의 명시적 선택

일반 형식은 %, +, 점, 역슬래시, 공백과 줄바꿈을 그대로 취급합니다. 조각은 #으로 시작하며 공백과 비ASCII 문자에 유효한 UTF-8 퍼센트 바이트가 필요합니다. 전체 퍼센트 디코딩을 한 번 수행한 뒤 경로를 나누고, 각 토큰도 한 번만 디코딩합니다.

정확한 JSON 값 보존

선택한 하위 트리의 JSON 자료형, 원래 객체 키 순서, 큰 정수와 고정밀 소수, 큰 지수, -0의 표기를 보존합니다. 없는 키는 오류지만 성공적으로 선택한 null, false, 0과 빈 문자열은 실제 값으로 유지합니다.

읽기 쉬운 참고 정보

JSON 포인터 결과에는 디코딩한 토큰과 사용 가능한 일반·조각 형식이 표시됩니다. JSON 문자열 표시는 빈 텍스트와 제어 문자를 드러내며, 표시용 따옴표는 원시 주소에 포함되지 않습니다. 각 참고 미리보기는 5,000자까지입니다.

주소 규칙과 처리 한도

루트, 빈 키와 정확한 일치
비어 있지 않은 일반 주소는 /로 시작합니다. 연속되거나 마지막에 오는 빈 토큰을 보존하고 공백을 제거하지 않습니다. 객체 키는 정확히 일치해야 하며 대소문자 통합, Unicode 정규화, 프로토타입 조회는 하지 않습니다. 일반 입력에 바깥쪽 JSON 따옴표를 붙이지 마세요.
한 번만 해제하는 토큰
이스케이프는 ~를 ~0, /를 ~1로 바꿉니다. 해제는 원시 /, 단독 ~, ~2 같은 시퀀스를 거부합니다. ~1을 먼저, ~0을 나중에 한 번씩 처리하므로 ~01은 문자 그대로 ~1이 됩니다. JSON 따옴표를 이스케이프하거나 퍼센트 바이트를 디코딩하지 않습니다.
엄격한 조각과 Unicode 내보내기
전체 URL이 아닌 조각 텍스트만 받습니다. 잘못된 UTF-8, 원시 공백·비ASCII 문자·추가 #은 거부합니다. 짝이 없는 UTF-16 서로게이트는 일반 결과에 보존되지만 URI 형식은 만들 수 없고, 문자 대체를 막기 위해 원시 복사와 다운로드도 비활성화합니다. 분석한 JSON 이스케이프 토큰 배열과 조회한 JSON 값은 안전하게 내보낼 수 있습니다. 이 문자를 명시적으로 조각 생성하면 오류가 납니다.
배열 위치와 읽기 범위
배열 인덱스는 0 또는 선행 0 없는 십진 숫자로, 범위 안에 있어야 합니다. -는 배열 끝 다음의 존재하지 않는 위치여서 읽을 수 없지만, 객체의 - 키는 읽을 수 있습니다. 스칼라 다음으로 이동하면 실패합니다. JSONPath, 패치 적용, 노드 생성, 전체 트리 목록, 파일 가져오기와 URL 조회는 제공하지 않습니다.
입력 예산과 완전한 출력
관련 입력은 각각 500,000자까지입니다. 주 결과와 참고 메타데이터도 합계 500,000자로 제한하며 내보내기는 주 결과만 포함합니다. 단일 토큰과 일반 경로는 각각 100,000자, 토큰은 최대 1,000개입니다. JSON 깊이는 100, 노드는 50,000개, 숫자 토큰은 1,000자까지입니다. 주석, 후행 쉼표, BOM, 중복 키를 거부합니다. 한도 초과는 전체 작업을 실패시키며 오래된 결과는 내보낼 수 없습니다.

JSON 포인터 질문

JSON 포인터는 JSONPath와 어떻게 다른가요?

JSON 포인터는 정확히 한 위치를 가리킵니다. JSONPath는 와일드카드, 조건과 재귀 검색으로 여러 값을 찾을 수 있습니다. 이 도구는 포인터를 처리하며 JSONPath 식으로 검색하거나 자동 변환하지 않습니다.

~0과 ~1은 무엇인가요?

~0은 키 안의 물결표, ~1은 슬래시를 나타냅니다. a/b 키는 /a~1b로 지정합니다. 해제는 한 번만 수행하므로 ~01은 ~1이 되며 /로 다시 바뀌지 않습니다. 단일 토큰 해제에 전체 경로를 넣으면 원시 슬래시 때문에 거부됩니다.

빈 포인터는 무엇을 반환하나요?

일반 형식의 빈 입력은 JSON 문서 전체를 선택합니다. URI 조각에서는 #이 같은 의미입니다. /는 빈 문자열 키를 선택하므로 서로 다릅니다. 생성 입력 []는 루트, [""]는 빈 키를 뜻합니다. 루트 자체가 null이어도 정상적으로 선택됩니다.

포인터 해석이 왜 실패했나요?

없는 키, 범위를 벗어난 배열 인덱스, 선행 0이 있는 인덱스, 배열의 - 토큰 또는 스칼라를 지나가는 경로가 원인일 수 있습니다. 오류의 토큰 번호는 1부터 셉니다. 문법 분석에 성공해도 대상이 없으면 값 찾기는 실패하며 null로 대신하지 않습니다.

입력 내용이 저장되나요?

영구 저장하지 않습니다. 현재 페이지의 브라우저 메모리에서만 입력과 결과를 처리하므로 새로고침하면 작업 상태를 이어받지 않습니다. 필요한 결과는 떠나기 전에 복사하거나 내려받으세요. 교체 실행 취소는 현재 작업 중 한 번만 복원합니다.

주소가 예상과 다르게 동작하나요?

다음 주소 확인하기

예제로 JSON 포인터를 실행해 루트와 빈 키를 비교한 다음, 선택한 값 전체를 복사하거나 자신의 토큰으로 주소를 생성하세요.