✅ JSON Validator
JSON 문법이 맞는지 입력하는 즉시 검사해요. 틀린 줄을 하이라이트하고, 왜 틀렸는지 한국어로 알려줘요.
사용법
- 검사할 JSON을 입력란에 붙여넣습니다. 입력하는 즉시 검사하며, 페이지를 열면 오류가 있는 예시가 들어 있습니다.
- 오류가 있으면 빨간 줄 하이라이트와 함께 몇 번째 줄 몇 열인지, 무엇이 잘못됐는지 한국어로 표시됩니다. 아래 "오류 위치" 패널에서 앞뒤 줄과
^표시로 정확한 자리를 확인하세요. - 💡 힌트에 흔한 원인(마지막 쉼표, 작은따옴표, 주석, 따옴표 없는 키 등)과 고치는 방법이 나옵니다. 자동 수정 시도를 누르면 이런 흔한 오류를 한 번에 고쳐 봅니다.
- 유효하면 키 개수, 최대 깊이, 타입별 개수 같은 구조 통계와 중복 키·큰 정수 같은 경고를 보여줍니다.
들여쓰기 정리나 압축(minify)이 필요하면 JSON 포맷터를 쓰세요. 이 페이지는 "왜 파싱이 안 되는지"를 찾는 데 집중합니다.
JSON 문법, 이것만 지키면 됩니다
JSON(JavaScript Object Notation)은 RFC 8259로 표준화된 데이터 형식입니다. JavaScript 객체와 비슷하게 생겼지만 훨씬 엄격해서, JS 코드에서는 되는 문법이 JSON에서는 오류가 되는 경우가 많습니다.
| 규칙 | ❌ 오류 | ✅ 올바름 |
|---|---|---|
| 키는 큰따옴표 문자열 | {name: 1} | {"name": 1} |
| 문자열은 큰따옴표만 | 'smith' | "smith" |
| 마지막 쉼표 금지 | [1, 2, ] | [1, 2] |
| 주석 없음 | // 설명 | "_comment" 키 사용 |
| 값은 6가지 타입만 | undefined, NaN | null |
| 숫자 앞 0 금지 | 007, .5 | 7, 0.5 |
| 문자열 안 줄바꿈은 이스케이프 | (엔터로 줄바꿈) | "a\nb" |
JSON 값의 타입은 객체 {}, 배열 [], 문자열, 숫자, true/false, null 여섯 가지뿐입니다. 날짜는 "2026-10-05T09:00:00Z" 같은 문자열로, 아주 큰 정수(ID 등)는 문자열로 보내는 것이 안전합니다.
오류 위치(줄·열)는 어떻게 계산하나요?
이 검사기는 브라우저의 JSON.parse 대신 표준 문법을 그대로 따라가는 자체 파서로 한 글자씩 읽습니다. 그래서 브라우저마다 다른 영어 오류 메시지("Unexpected token")가 아니라, 문법이 처음 어긋난 정확한 지점을 줄·열로 알려줄 수 있어요. 줄과 열은 1부터 세고, 열은 그 줄의 몇 번째 글자인지입니다.
주의할 점은 오류가 "발견된" 위치가 실제 실수한 위치보다 뒤일 수 있다는 것입니다. 예를 들어 쉼표를 빠뜨리면 다음 키의 따옴표에서 오류가 나고, 괄호를 안 닫으면 파일 끝에서 오류가 납니다. 이때는 힌트에 나온 "앞 줄 끝"이나 "닫히지 않은 괄호 위치"를 함께 보세요.
경고: 문법은 맞지만 문제가 될 수 있는 것
- 중복 키 —
{"a":1,"a":2}는 표준상 허용되지만 결과가 파서마다 다를 수 있고, 대부분 마지막 값만 남습니다. - 2^53(9,007,199,254,740,992)을 넘는 정수 — JavaScript 숫자는 64비트 실수라 그보다 큰 정수는 끝자리가 바뀝니다. 트위터·디스코드 ID 같은 값은 문자열로 주고받으세요.
자동 수정은 주석 제거, 작은따옴표 변환, 따옴표 없는 키 감싸기, True/False/None·undefined 변환, 마지막 쉼표 제거만 합니다. 결과를 꼭 다시 확인하세요. 입력한 JSON은 브라우저 밖으로 전송되지 않습니다.