JSON Schema 생성기

브라우저에서 로컬로 실행

샘플 JSON에서 Draft 2020-12 JSON Schema 추론

JSON 샘플

JSON 샘플을 붙여 넣거나 예시를 불러와 스키마를 생성하세요.
JSON Schema Generator가 하는 일

예시 JSON을 읽어 "$schema" URI가 https://json-schema.org/draft/2020-12/schema인 JSON Schema Draft 2020-12 문서를 작성합니다. 중첩 객체는 중첩 properties가 되고, 배열에는 items 스키마가 붙으며, 정수는 integer, 그 밖의 숫자는 number로 지정됩니다. null이 올 수 있는 필드는 ["string", "null"] 같은 타입 목록을 사용합니다. 객체나 배열이 다른 타입과 같은 위치에 나타나면 타입마다 분기 하나씩을 둔 anyOf를 사용하므로 혼합 배열 때문에 생성이 실패하지 않습니다.

사용 방법
  1. 1.JSON 샘플을 붙여 넣거나 .json 파일 하나를 업로드 또는 끌어다 놓거나 예시를 불러옵니다. 여러 레코드가 담긴 배열일수록 결과가 정확합니다.
  2. 2.입력하는 동안 스키마가 업데이트되며, 2 MB를 넘는 입력은 스키마 생성을 누를 때까지 기다립니다.
  3. 3.필요하면 제목을 입력하고 형식 감지, 예시 포함, 필수 필드 추론, enum 추론을 선택합니다.
  4. 4.선택 필드, null만 있는 필드, 혼합 타입, enum에 대한 추론 메모를 확인합니다.
  5. 5.샘플 검증을 선택한 다음 스키마를 복사하거나 schema.json을 다운로드합니다.
옵션 동작 방식

필수 필드는 한 위치에서 발견된 모든 객체에 있는 키입니다. 따라서 레코드 배열에서 한 레코드라도 빠진 키는 선택 필드로 남습니다. 객체가 하나뿐이면 어떤 키가 선택인지 알 수 없으며, 도구가 이를 알려 줍니다. 형식(email, uri, date-time, date, time, uuid, ipv4)은 한 위치의 모든 문자열이 정확히 같은 형식과 일치할 때만 추가되고, 감지를 끄면 format 키워드가 모두 사라집니다. enum은 기본적으로 꺼져 있으며, ID나 형식 있는 값, 자유 텍스트가 아닌 반복되는 소수의 값에만 추론되고 샘플의 모든 값을 항상 포함합니다.

검증, 한계, 개인정보

샘플 검증은 Ajv의 Draft 2020-12 strict 모드와 ajv-formats로 스키마를 컴파일해 샘플을 검사하고, 실패한 항목마다 JSON Pointer와 규칙을 보여 줍니다. 예시에서 추론한 스키마는 샘플에 나타난 내용만 설명합니다. 객체는 추가 키를 허용한 상태로 두며 값의 범위, 패턴, 길이는 추측하지 않습니다. JavaScript 정밀도를 넘는 숫자는 타입은 올바르게 지정하지만 예시에는 넣지 않습니다. 모든 처리는 브라우저에서 이루어지며, 검증기는 요청할 때만 불러옵니다.

CodingTool이 공식 출시되었습니다

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.tools