JSON Schema Validator로 JSON 유효성 확인하기
JSON 데이터와 JSON Schema를 각각 입력하면 데이터의 유효성 및 검증 세부 정보를 확인할 수 있습니다. 파싱 오류와 규칙 위반은 결과 설명에서 구분해 확인하세요.
JSON과 스키마의 일치 여부 확인하기
JSON 데이터가 스키마의 규칙에 맞는지 확인해야 할 때 JSON Schema Validator를 사용할 수 있습니다. JSON 입력과 JSON Schema를 각각 텍스트로 넣으면 먼저 두 내용을 JSON으로 읽은 뒤, 파싱된 데이터를 스키마에 따라 검사합니다. 문자열, 숫자, 정수, 불리언, 객체, 배열 같은 타입과 중첩된 값의 타입을 확인하고, 설정된 조건이 있으면 필수 속성, 추가 속성, 열거형, 숫자 범위, 문자열 길이도 검사합니다.
이 도구는 API 요청 본문, 설정 파일, 이벤트 데이터처럼 구조가 정해진 JSON을 점검하는 상황에 적합합니다. 결과를 볼 때 작업 자체가 처리되었는지와 데이터가 스키마에 맞는지는 별도로 확인해야 합니다. 검증에 실패해도 작업 상태가 성공으로 표시될 수 있으므로, 유효성 결과와 함께 세부 설명을 읽어야 원인을 파악할 수 있습니다.
입력부터 결과 확인까지
- 검사할 JSON을 준비합니다. 예를 들어
{"name":"민수","age":20}처럼 실제 데이터가 들어 있는 텍스트를 데이터 입력란에 붙여 넣습니다. - 같은 데이터에 적용할 JSON Schema를 별도 입력란에 넣습니다.
name을 문자열로,age를 정수로 선언하고 필요한 경우 필수 속성이나 최소값 같은 조건을 추가합니다. 데이터와 스키마 입력란은 각각 선택 사항이지만, 한쪽이라도 비어 있거나 공백만 있으면 데이터가 유효하지 않은 것으로 처리되고 누락된 JSON 또는 스키마가 표시됩니다. - 검증을 실행합니다. 도구는 두 텍스트를 먼저 JSON으로 파싱한 다음, 데이터가 스키마의 타입과 조건에 맞는지 검사합니다. 중첩 객체와 배열이 있다면 선언된 규칙에 따라 내부 값과 배열 항목도 확인합니다.
- 결과에서 유효성 판단과 설명을 함께 확인합니다. JSON 문법이 틀렸다면 파싱 오류 설명이 나타나므로 먼저 괄호, 쉼표, 따옴표를 고칩니다. 문법은 맞지만 규칙에 맞지 않으면 타입, 필수 속성, 허용되지 않은 속성, 범위, 길이 또는 열거형 조건을 확인합니다.
- 수정한 JSON만 다시 넣지 말고, 스키마와 데이터가 서로 같은 구조를 가리키는지도 점검한 뒤 다시 실행합니다. 스키마가 요구하는 속성 이름과 실제 JSON의 이름, 정수와 숫자의 구분, 배열 항목의 구조를 특히 비교하면 됩니다.
결과를 해석하는 방법
유효한 결과는 데이터가 제공된 스키마의 검사 조건을 통과했다는 뜻입니다. 반대로 유효하지 않은 결과는 JSON 자체를 읽지 못했거나, 읽은 데이터가 선언된 타입과 조건을 만족하지 못했다는 뜻입니다. 설명에 표시된 실패 지점을 기준으로 데이터와 스키마 중 어느 쪽을 수정할지 결정하세요.
객체에서는 선언된 속성 중 필수로 지정된 항목이 빠졌는지, 추가 속성을 허용하지 않는 규칙을 어겼는지 확인할 수 있습니다. 배열은 항목에 적용할 스키마가 있을 때 각 항목을 검사합니다. 문자열 길이, 숫자의 최소값과 최대값, 열거형처럼 스키마에 작성한 조건도 결과에 영향을 줍니다. 다만 결과의 작업 상태가 성공이라고 해서 데이터가 유효하다는 뜻은 아닙니다. 두 상태를 나누어 읽어야 합니다.
사용 예시
회원가입 API에 보내기 전 이름과 나이의 JSON 구조가 스키마와 맞는지 확인합니다.
회원 데이터 {"name":"민수","age":20}와 name을 문자열, age를 정수로 선언한 스키마를 각각 입력하고 검증을 실행합니다.
결과에는 작업 처리 상태와 별도로 데이터의 유효성 판단이 표시되며, 실패할 경우 파싱 오류나 해당 검사 조건에 관한 세부 설명이 함께 제공됩니다.
제한 사항
- 검사 결과는 제공된 스키마에 선언된 검사 규칙과 도구가 적용하는 동작 범위에 따라 해석해야 하며, 결과만으로 JSON Schema의 모든 기능이 지원된다고 판단할 수는 없습니다.
자주 발생하는 오류
- JSON 안의 따옴표, 쉼표 또는 중괄호가 맞지 않으면 검증 전에 파싱 오류가 발생합니다. 데이터와 스키마를 각각 JSON 문법에 맞게 정리한 뒤 다시 실행하세요.
자주 묻는 질문
JSON이나 스키마를 비워도 검사할 수 있나요?
두 입력란 중 하나가 비어 있거나 공백뿐이면 데이터가 유효하지 않은 결과가 나오고, JSON 또는 스키마 누락이 설명됩니다. 두 내용을 모두 넣어야 검증을 진행할 수 있습니다.
문법 오류와 스키마 위반은 어떻게 구분하나요?
먼저 두 텍스트의 JSON 문법을 파싱합니다. 문법 오류가 있으면 스키마 규칙을 검사하기 전에 파싱 오류 설명과 유효하지 않은 결과가 표시됩니다.
필수 항목과 값의 범위도 확인할 수 있나요?
스키마에 해당 조건이 선언되어 있을 때 숫자의 최소값과 최대값, 문자열 길이, 열거형 값, 필수 속성 및 허용되지 않은 추가 속성을 확인합니다.