~ / developer / json-validator

✅ JSON Validator

JSON 문법이 맞는지 입력하는 즉시 검사해요. 틀린 줄을 하이라이트하고, 왜 틀렸는지 한국어로 알려줘요.

광고
광고
오류 위치

        
구조 통계
광고

사용법

  1. 검사할 JSON을 입력란에 붙여넣습니다. 입력하는 즉시 검사하며, 페이지를 열면 오류가 있는 예시가 들어 있습니다.
  2. 오류가 있으면 빨간 줄 하이라이트와 함께 몇 번째 줄 몇 열인지, 무엇이 잘못됐는지 한국어로 표시됩니다. 아래 "오류 위치" 패널에서 앞뒤 줄과 ^ 표시로 정확한 자리를 확인하세요.
  3. 💡 힌트에 흔한 원인(마지막 쉼표, 작은따옴표, 주석, 따옴표 없는 키 등)과 고치는 방법이 나옵니다. 자동 수정 시도를 누르면 이런 흔한 오류를 한 번에 고쳐 봅니다.
  4. 유효하면 키 개수, 최대 깊이, 타입별 개수 같은 구조 통계와 중복 키·큰 정수 같은 경고를 보여줍니다.

들여쓰기 정리나 압축(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, NaNnull
숫자 앞 0 금지007, .57, 0.5
문자열 안 줄바꿈은 이스케이프(엔터로 줄바꿈)"a\nb"

JSON 값의 타입은 객체 {}, 배열 [], 문자열, 숫자, true/false, null 여섯 가지뿐입니다. 날짜는 "2026-10-05T09:00:00Z" 같은 문자열로, 아주 큰 정수(ID 등)는 문자열로 보내는 것이 안전합니다.

오류 위치(줄·열)는 어떻게 계산하나요?

이 검사기는 브라우저의 JSON.parse 대신 표준 문법을 그대로 따라가는 자체 파서로 한 글자씩 읽습니다. 그래서 브라우저마다 다른 영어 오류 메시지("Unexpected token")가 아니라, 문법이 처음 어긋난 정확한 지점을 줄·열로 알려줄 수 있어요. 줄과 열은 1부터 세고, 열은 그 줄의 몇 번째 글자인지입니다.

주의할 점은 오류가 "발견된" 위치가 실제 실수한 위치보다 뒤일 수 있다는 것입니다. 예를 들어 쉼표를 빠뜨리면 다음 키의 따옴표에서 오류가 나고, 괄호를 안 닫으면 파일 끝에서 오류가 납니다. 이때는 힌트에 나온 "앞 줄 끝"이나 "닫히지 않은 괄호 위치"를 함께 보세요.

예시 검사 3가지

입력이 검사기 결과실제로 고칠 곳
① 페이지의 '오류 예시' (작은따옴표 키, 주석, 마지막 쉼표 2개)2줄 3열: 키는 큰따옴표 문자열이어야 하는데 작은따옴표가 있음첫 오류만 표시돼요. '자동 수정 시도'를 누르면 따옴표·주석·쉼표가 한 번에 고쳐져 키 3개·깊이 2의 유효한 JSON이 돼요
② { "a": 1 ⏎ "b": 2 } (쉼표 빠짐)3줄 3열: 쉼표 또는 '}'가 와야 하는데 큰따옴표가 있음오류가 발견된 3줄이 아니라 2줄 끝에 쉼표를 넣어야 해요
③ [1, 2, {"x": [3, 4]} (괄호 안 닫힘)1줄 21열(입력 끝): 쉼표 또는 ']'가 와야 하는데 입력이 끝남 · 힌트 "1번째 줄 1열의 '['가 닫히지 않았습니다"맨 끝에 ] 추가

②와 ③처럼 '빠진 것'이 원인이면 오류는 늘 실제 실수보다 뒤에서 발견돼요. 힌트에 나온 '앞 줄 끝'과 '닫히지 않은 괄호 위치'를 먼저 보면 빨라요.

브라우저 오류 메시지 해석표

개발자 도구 콘솔에서 JSON.parse가 던지는 영어 메시지(크롬·Node.js의 V8 엔진 기준)와 원인을 짝지었어요. 메시지 끝의 position은 0부터 센 글자 위치이고, 최신 V8은 줄·열도 함께 알려 줘요.

메시지원인예
Expected property name or '}'키에 따옴표가 없거나 작은따옴표, 또는 객체 마지막 쉼표{'name': 1}, {"a":1,}
Expected ',' or '}' after property value객체 항목 사이 쉼표 빠짐예시 ②
Expected ',' or ']' after array element배열 쉼표 빠짐 또는 ] 안 닫힘예시 ③
Unexpected token 'T' / ']' …JSON에 없는 값(True, undefined), 배열 마지막 쉼표{"ok": True}, [1,2,]
Bad control character in string literal문자열 안에 엔터·탭이 그대로 들어감"줄⏎바꿈" → "줄\n바꿈"
Unexpected end of JSON input빈 문자열, 응답이 중간에 잘림, 괄호 안 닫힘JSON.parse("")
Unexpected non-whitespace character after JSONJSON 뒤에 다른 글자가 붙음 (두 객체 연결, 응답 뒤 쓰레기 값){"a":1}x
Unexpected token '<', "<!DOCTYPE "… is not valid JSONAPI가 JSON이 아니라 HTML 오류 페이지를 돌려줌404·500 응답, 로그인 리디렉션

마지막 줄은 JSON 문법 문제가 아니라 서버 응답 문제예요. 네트워크 탭에서 상태 코드와 Content-Type을 먼저 확인하세요. 메시지 원문 형식은 MDN JSON.parse(), 문법 정의는 RFC 8259에서 볼 수 있어요. 오류 유형을 더 자세히 모은 글은 JSON 문법 오류 패턴 모음이에요.

광고

JSON과 비슷한 형식 비교

형식주석마지막 쉼표작은따옴표주로 쓰는 곳
JSON (RFC 8259)✗✗✗API 응답, package.json
JSONC✓ // /* */설정에 따라 허용✗VS Code 설정, tsconfig.json
JSON5✓✓✓사람이 직접 고치는 설정 파일
JavaScript 객체 리터럴✓✓✓코드 안 (JSON 아님)

tsconfig.json에 주석이 있어도 TypeScript는 잘 읽지만, 같은 파일을 이 검사기나 JSON.parse에 넣으면 오류가 나요. 형식이 JSONC이기 때문이에요. YAML·XML과의 차이는 JSON·YAML·XML 비교에 정리했어요.

경고: 문법은 맞지만 문제가 될 수 있는 것

자동 수정은 주석 제거, 작은따옴표 변환, 따옴표 없는 키 감싸기, True/False/None·undefined 변환, 마지막 쉼표 제거만 합니다. 결과를 꼭 다시 확인하세요. 입력한 JSON은 브라우저 밖으로 전송되지 않습니다.

광고
광고

자주 묻는 질문

Unexpected token in JSON at position 오류는 무슨 뜻인가요?
JSON.parse가 문법에 맞지 않는 글자를 만났다는 뜻이고, position은 0부터 센 문자 위치입니다. 여기에 붙여넣으면 그 위치를 줄·열로 바꿔 하이라이트해 줍니다.
JSON에 주석을 넣을 수 있나요?
표준 JSON에는 주석이 없습니다. 설정 파일이라면 주석을 지원하는 JSONC(VS Code 설정)나 JSON5, YAML을 쓰거나, "_comment" 같은 키에 설명을 넣으세요.
마지막에 쉼표가 있으면 왜 안 되나요?
JSON 문법은 항목 사이에만 쉼표를 허용합니다. JavaScript 객체·배열은 마지막 쉼표를 허용해서 헷갈리기 쉬운데, JSON.parse에서는 오류가 납니다.
Unexpected token < 오류가 나요.
대부분 서버가 JSON 대신 HTML(404·500 오류 페이지나 로그인 페이지)을 돌려준 경우예요. "<"는 의 첫 글자예요. 브라우저 네트워크 탭에서 응답 상태 코드와 Content-Type이 application/json인지 먼저 확인하세요.
오류 줄 번호가 실제 실수한 줄과 달라요.
쉼표나 괄호처럼 "빠진 것"은 다음 글자를 읽을 때에야 틀린 걸 알 수 있어서, 오류가 한 줄 뒤나 파일 끝에서 발견돼요. 쉼표 누락이면 오류 줄 바로 앞 줄 끝을, 입력 끝 오류면 닫히지 않은 괄호를 확인하세요.
JSON 포맷터와 무엇이 다른가요?
포맷터는 들여쓰기·압축 같은 정리가 목적이고, Validator는 오류의 정확한 위치와 원인, 힌트, 구조 통계, 경고를 보여주는 데 집중합니다.

이 도구와 함께 보면 좋은 글

관련 도구

광고

더 둘러보기

💻 개발자 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →