JSON 검증기
귀하의 JSON이 RFC 8259에 따라 구문적으로 유효한지 확인하세요. 문제를 신속하게 해결할 수 있도록 줄과 열 번호로 정확한 오류 메시지를 제공합니다.
배열의 마지막 요소 뒤에 있는 후행 쉼표는 가장 일반적인 JSON 오류입니다 - 그리고 이는 축소된 출력에서 눈에 보이지 않습니다. StackOverflow의 2023 개발자 설문 조사 분석에 따르면 JSON 파싱 오류는 API 디버깅 시간의 약 15%를 차지합니다. 이 검증기는 귀하의 브라우저에서 직접 RFC 8259 위반을 잡아냅니다. JSON을 붙여넣어 즉각적인 판별을 받으세요: 유효 또는 유효하지 않으며, 문제의 정확한 줄과 열을 제공합니다. 아무것도 업로드되지 않습니다. 계정이 필요하지 않습니다.
JSON 검증 방법
- 입력 상자에 JSON을 붙여넣거나 입력하세요.
- 검증기는 실시간으로 구문을 확인하거나 검증을 클릭하여 전체 보고서를 확인하세요.
- 유효한 경우, 녹색 표시기가 구조를 확인하고 최상위 유형의 요약을 제공합니다.
- 유효하지 않은 경우, 오류 패널이 정확한 줄, 열 및 문제에 대한 평이한 설명을 보여줍니다.
- 지적된 문제를 수정하고 깨끗한 결과를 받을 때까지 다시 검증하세요.
검증되는 항목
구조적 규칙
JSON은 최상위에서 객체({}) 또는 배열([])로 시작해야 하며, RFC 8259는 원시 값(문자열, 숫자, 부울, null)도 최상위 값으로 허용합니다. 중괄호와 대괄호는 균형을 이루고 적절하게 중첩되어야 합니다. 쉼표는 요소를 구분해야 하지만 마지막 요소 뒤에는 나타나지 않아야 합니다 - 후행 쉼표는 가장 빈번한 JSON 오류입니다. 각 객체 키는 이중 인용 문자열이어야 합니다.
값 유형
JSON은 여섯 가지 값 유형을 정의합니다: 문자열(이중 인용, 특정 이스케이프 시퀀스 포함), 숫자(정수 및 소수, 선행 0 없음), 부울(true 및 false, 소문자만), null (소문자), 객체 및 배열. undefined, NaN, Infinity 및 함수 표현식과 같은 JavaScript 전용 값은 유효한 JSON이 아니며 검증에 실패합니다.
RFC 8259 준수
RFC 8259(2017년 12월 발표, RFC 4627 및 RFC 7159 대체)는 JSON에 대한 현재 IETF 표준입니다. UTF-8 인코딩을 지정하고 중복 객체 키를 금지하며 문자열 값에 대한 정확한 이스케이프 시퀀스를 정의합니다. 이 검증기는 모든 파서와 언어에서 최대 호환성을 위해 엄격한 RFC 8259 규칙을 적용합니다.
예시
잘못된 입력 (후행 쉼표)
{
"name": "Alice",
"roles": ["admin", "editor",]
}
검증기 오류
3행 33열에서 오류: 예기치 않은 토큰 ']'
후행 쉼표는 JSON 배열에서 허용되지 않습니다 (RFC 8259 §5).
일반적인 구문 오류
- 후행 쉼표 -
{"a": 1,}- 닫는 중괄호 또는 대괄호 앞의 마지막 쉼표를 제거하세요 - 단일 인용 문자열 -
{'key': 'value'}- 이중 인용으로 변경하세요 - 인용되지 않은 키 -
{key: "value"}- 키를 이중 인용으로 감싸세요 - JavaScript 주석 -
// comment또는/* comment */- JSON에는 주석 구문이 없습니다; 제거하세요 - 잘못된 부울/null 대소문자 -
True,False,NULL는 유효하지 않습니다;true,false,null를 사용하세요
검증과 포맷팅의 차이
검증은 JSON이 구문적으로 올바른지 확인합니다 - 특정 오류 세부정보와 함께 통과하거나 실패합니다. 포맷팅은 가독성을 위해 공백만 추가하며 올바름을 검증하지 않습니다. 잘못된 JSON을 포맷하려고 시도하면 실패합니다. 먼저 검증한 후 포맷하세요.
JSON이 검증을 통과하면 JSON 포맷터가 가독성을 위해 들여쓰기를 하고, JSON 미니파이어가 프로덕션 사용을 위해 압축합니다. URL에 포함된 JSON의 경우, 검증하기 전에 URL 디코더로 디코딩하세요.
자주 묻는 질문
JSON 검증과 포맷팅의 차이는 무엇인가요?
검증은 귀하의 JSON이 RFC 8259에 따라 구문적으로 올바른지 확인합니다. 포맷팅은 가독성을 위해 공백만 추가하며 올바름을 검증하지 않습니다. 잘못된 JSON을 포맷하려고 시도할 수 있지만, 포맷터는 먼저 JSON을 파싱해야 하므로 실패합니다. 포맷팅 전에 검증하세요.
JavaScript는 내 JSON을 허용하지만 검증기는 거부하는 이유는 무엇인가요?
일부 JavaScript 환경은 주석, 단일 인용 문자열 및 후행 쉼표를 허용하는 JSON5 또는 HJSON과 같은 느슨한 JSON 슈퍼셋을 수용합니다. 이 검증기는 모든 언어와 런타임에서 JSON이 작동하도록 보장하기 위해 엄격한 RFC 8259에 대해 테스트합니다. 사용 사례가 JavaScript만 해당된다면 JSON5.parse()와 json5 라이브러리를 고려하세요.
이 도구로 JSON Schema 문서를 검증할 수 있나요?
이 도구는 JSON 구문만 검증하며, JSON Schema 의미론은 검증하지 않습니다. JSON Schema 문서는 자체적으로 유효한 JSON이므로 구문 검증이 작동합니다. 데이터 객체가 JSON Schema 정의에 부합하는지 검증하려면 ajv와 같은 전용 JSON Schema 검증기가 필요합니다.
여기서 검증할 때 내 데이터는 비공개인가요?
완전히 가능합니다. 검증은 귀하의 브라우저에서 네이티브 JSON.parse 함수를 사용하여 클라이언트 측에서 실행됩니다. 데이터는 어떤 서버에도 전송되거나 기록되거나 저장되지 않습니다. API 자격 증명, 개인 정보 또는 내부 비즈니스 데이터를 포함하는 페이로드를 안전하게 검증할 수 있습니다.
가장 일반적인 JSON 검증 오류는 무엇인가요?
빈도 순서로: (1) 마지막 요소 뒤의 후행 쉼표 - [1, 2, 3,]; (2) 단일 인용 문자열 대신 이중 인용 문자열; (3) 문자열 내부의 이스케이프되지 않은 백슬래시 또는 제어 문자; (4) JavaScript 주석; (5) True/False/Null 대신 true/false/null 사용.