데이터 형식

JSON Schema 생성기 및 검증기 — 무료 온라인

이 무료 온라인 도구를 사용하여 샘플 데이터에서 JSON Schema를 생성하거나 스키마에 대해 JSON을 검증하세요. 검증을 위해 Ajv를 사용합니다. 가입이 필요하지 않습니다.

무료 사용 가입 불필요 브라우저에서 실행

도구 작업 영역

JSON Schema는(는) 무엇인가요?

JSON Schema는 JSON 데이터의 구조, 제약 조건 및 유효성 검사 규칙을 설명할 수 있도록 IETF(Internet Engineering Task Force)에서 정의한 어휘입니다. JSON Schema는 객체가 가져야 하는 속성, 허용되는 데이터 유형, 값 범위, 문자열 패턴, 배열 길이 등을 지정합니다. API 요청/응답 유효성 검사, 양식 생성, 구성 파일 유효성 검사 및 데이터 문서화에 널리 사용됩니다. JSON Schema는 Draft-04부터 Draft 2020-12까지의 초안을 지원합니다. 이 도구를 사용하면 샘플 JSON 데이터(시작점으로 유용함)에서 JSON Schema를 자동으로 생성하고 JavaScript 생태계에서 가장 널리 사용되는 JSON Schema 유효성 검사기인 Ajv(또 다른 JSON 유효성 검사기) 라이브러리를 사용하여 스키마에 대해 JSON 문서의 유효성을 검사할 수 있습니다.

이 무료 온라인 JSON Schema 도구를 사용하는 방법

  1. 1상단의 탭을 사용하여 'Generate Schema'과 'Validate JSON' 중에서 선택하세요.
  2. 2스키마를 생성하려면 샘플 JSON 객체를 입력 영역에 붙여넣습니다. 이 도구는 자동으로 유형을 추론하고 시작점으로 사용할 수 있는 JSON Schema를 생성합니다.
  3. 3JSON을 검증하려면: 첫 번째 필드에 검증하려는 JSON 데이터를 붙여넣고 두 번째 필드에 JSON Schema를 붙여넣습니다. 'Validate' 버튼을 클릭하세요.
  4. 4유효성 검사 결과를 검토합니다. 녹색 메시지는 JSON이 스키마를 준수함을 의미합니다. 빨간색 메시지에는 모든 유효성 검사 오류가 해당 경로와 함께 나열됩니다.
  5. 5생성된 스키마 또는 검증 결과를 복사하려면 복사 버튼을 클릭하세요.

JSON Schema의 주요 활용 사례

API 계약 검증

클라이언트가 유효한 데이터를 보내고 서버가 예상 구조를 반환하도록 API 요청 및 응답 본문에 대한 JSON 스키마를 정의하세요.

구성 파일 유효성 검사

애플리케이션 구성 파일에 대한 스키마를 생성하여 프로덕션에서 런타임 오류가 발생하기 전에 오류를 조기에 포착하세요.

예제에서 스키마 생성

처음부터 작성하는 대신 샘플 데이터에서 JSON Schema를 신속하게 부트스트랩합니다. 필수 필드 및 패턴과 같은 제약 조건을 추가하여 생성된 스키마를 구체화합니다.

양식 생성 및 유효성 검사

JSON Schema는 내장된 유효성 검사를 통해 UI 양식을 자동으로 생성하기 위해 반응-jsonschema-form 및 vue-jsonschema-form와 같은 라이브러리에서 사용됩니다.

데이터 파이프라인 품질 검사

ETL 파이프라인에서 들어오는 데이터를 스키마에 대해 검증하여 데이터 웨어하우스가 손상되기 전에 잘못된 형식의 레코드를 거부합니다.

자주 묻는 질문

이 도구는 어떤 JSON Schema 초안을 지원합니까?

검증 엔진(Ajv)은 가장 널리 채택된 초안인 JSON Schema Draft-07를 기본적으로 지원합니다. 스키마 생성기는 Draft-04 이상과 호환되는 스키마를 생성합니다. Draft 2019-09 또는 2020-12 기능의 경우 ajv-formats 또는 ajv-keywords 플러그인을 추가해야 할 수도 있습니다.

자동 생성된 스키마는 얼마나 정확합니까?

생성된 스키마는 사용자가 제공한 샘플 데이터에서 유형을 추론하여 문자열, 숫자, 부울, 배열 및 객체 유형을 정확하게 결정합니다. 그러나 최소/최대값, 문자열 패턴(regex), 필수 필드 또는 열거형 값과 같은 제약 조건을 추론할 수는 없습니다. 생성된 스키마를 시작점으로 취급하고 수동으로 구체화합니다.

유효성 검사에서 'allErrors: true'은(는) 무엇을 의미하나요?

기본적으로 Ajv는 첫 번째 유효성 검사 오류가 발생하면 중지됩니다. 'allErrors: true'을 사용하면 발견된 모든 오류를 계속 확인하고 보고하여 한 번에 모든 문제에 대한 완전한 그림을 제공합니다. 이는 디버깅에 더 유용하지만 매우 큰 문서의 경우 약간 느립니다.

이 도구는 무료이며 비공개인가요?

그렇습니다. 스키마 생성 및 검증은 to-json-schema 및 Ajv JavaScript 라이브러리를 사용하여 브라우저에서 완전히 실행됩니다. 어떤 서버에도 데이터가 전송되지 않으며 가입이 필요하지 않습니다.