사용 방법
- JSON을 입력란에 붙여넣거나 파일을 열거나 “예제 보기”를 눌러 오류 보고서를 확인하세요.
- 결과를 확인하세요. 유효한 JSON이면 녹색 메시지가 표시되고, 유효하지 않으면 첫 번째 오류와 줄·열 번호, 문제가 있는 위치를 표시하는 마커가 나타납니다.
- 안내에 따라 오류를 수정하고 다시 확인하세요. 입력하는 동안 결과가 자동으로 업데이트됩니다.
- JSON이 유효하면 루트 유형, 키 개수, 중첩 깊이, 바이트 크기 통계를 확인하세요.
작동 방식
이 검사기는 브라우저의 JSON 파서를 사용해 JSON 표준(RFC 8259 / ECMA-404)에 따라 구문을 확인합니다. 따라서 여기서 통과한 문서는 JavaScript의 JSON.parse와 표준을 준수하는 다른 언어의 파서에서도 허용됩니다. 파싱에 실패하면 이 도구의 엄격한 검사기가 텍스트를 한 번 훑어 첫 번째 오류와 정확한 행·열을 찾은 다음, 문제가 있는 줄 아래에 ^ 표시를 보여 줍니다.
안내 내용은 JSON을 직접 작성하거나 JavaScript에서 복사할 때 흔히 발생하는 실수에 초점을 맞춥니다. 마지막 항목 뒤에 쉼표를 넣는 경우, 작은따옴표로 문자열을 묶는 경우, 따옴표 없이 키를 쓰는 경우, // 또는 /* */ 주석을 넣는 경우, NaN, Infinity 또는 undefined 같은 값을 쓰는 경우, 문자열 안에 원시 줄바꿈을 넣는 경우, 그리고 JSON 문서 두 개를 이어 붙이는 경우(JSON Lines 파일처럼)입니다. 하나의 실수로 그 뒤의 내용 전체가 잘못 해석되는 경우가 많으므로 첫 번째 오류만 표시합니다.
이 도구는 구문만 검사합니다. JSON Schema에 따른 검증은 하지 않으므로 필수 필드가 빠졌는지 알 수 없습니다. 중복 키에 대한 경고도 표시하지 않습니다. 표준에서 중복 키를 허용하고 대부분의 파서가 마지막 값을 유지하기 때문입니다. 통계에는 모든 깊이의 객체에 있는 키가 집계됩니다. 깊이는 평평한 객체나 배열의 경우 1이며, 중첩된 각 단계마다 1씩 늘어납니다.
예시
JavaScript에서 복사한 설정
{name: 'demo', debug: true,}는 1행 2열에서 “객체 키는 큰따옴표로 묶어야 합니다”라는 오류가 발생합니다. 키를 큰따옴표로 묶으면 다음 검사에서는 작은따옴표로 묶인 문자열을 가리키고, 그다음에는 마지막 쉼표를 가리킵니다.
줄마다 객체 하나가 있는 로그 파일
{"id":1}과 {"id":2}처럼 두 줄을 붙여넣으면 2행에서 “JSON 값이 끝난 뒤에 내용이 더 있습니다”라는 오류가 표시됩니다. 각 줄은 각각 올바른 JSON(JSON Lines)이지만, 두 줄을 함께 사용하려면 [ ]로 묶고 쉼표로 구분해야 합니다.
API 페이로드 확인
2 MB 응답도 순식간에 검증되며, 루트 유형: Array, 최상위 항목 1,500개, 중첩 깊이 4를 표시합니다. 이 결과로 응답을 사용하는 코드를 작성하기 전에 빠르게 확인할 수 있습니다.
자주 묻는 질문
JSON Schema에 따라 검증하나요?
아니요. 텍스트가 올바른 형식의 JSON인지 확인합니다. 필수 필드, 유형 또는 형식을 확인하려면 JSON Schema validator가 필요하며, 이 도구에는 포함되어 있지 않습니다.
오류가 하나만 표시되는 이유는 무엇인가요?
첫 번째 구문 오류가 발생하면 파서는 작성자가 의도한 내용을 알 수 없으므로, 이후에 표시되는 오류는 첫 번째 오류의 영향인 경우가 많습니다. 표시된 문제를 수정하면 다음 오류가 있을 경우 바로 표시됩니다.
주석이나 후행 쉼표도 유효한 경우가 있나요?
JSON에서는 허용되지 않습니다. 일부 편집기의 설정 파일에서 사용하는 JSON5와 JSONC 같은 형식은 주석을 허용하지만, 표준 JSON 파서는 주석을 거부하므로 여기서는 오류로 표시됩니다.
42나 "hello"처럼 단일 값도 유효한 JSON인가요?
네. RFC 7159부터는 객체와 배열뿐 아니라 모든 JSON 값을 루트로 사용할 수 있습니다. 다만 일부 구형 도구와 API는 최상위 값으로 객체나 배열을 요구합니다.
열 번호가 편집기와 다를 수 있는 이유는 무엇인가요?
열 번호는 JavaScript에서 문자열 길이를 세는 방식과 같은 UTF-16 코드 단위로 계산됩니다. 이모지와 일부 드문 문자는 두 칸으로 계산되고 탭은 한 칸으로 계산되지만, 편집기에서는 더 넓게 표시될 수 있습니다.
개인정보 보호
검증은 브라우저에서만 실행됩니다. 붙여넣거나 연 JSON은 업로드되거나 저장되지 않으며 분석 데이터에도 포함되지 않습니다.