도구스개발

JSON 스키마 생성기

JSON 예시를 붙여넣으면 JSON Schema(draft 2020-12)를 만들어 줍니다. 여러 예시로 필수 키까지 가려냅니다.

JSON 예시

객체 여러 개를 배열로 주면 어떤 키가 늘 있는지 알 수 있어 더 정확한 스키마가 나옵니다.

JSON Schema (draft 2020-12)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "integer"
      },
      "name": {
        "type": "string"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "meta": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "active"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "tags"
    ]
  }
}

예시만으로는 알 수 없어 이렇게 정했습니다

required모든 예시에 있는 키만 필수로 봅니다
원소 타입이 섞인 배열anyOf 로 묶습니다. 하나를 골라 버리지 않습니다
정수와 실수가 섞일 때number 로 넓힙니다
빈 배열·빈 객체안을 알 수 없으므로 타입만 적습니다
예시에서 뽑아낸 출발점입니다. 값의 범위(minimum·maxLength), 형식(format: date-time), 설명(description) 처럼 예시만으로는 알 수 없는 것은 직접 채워 넣어야 합니다.

사용 방법

  1. 1JSON 예시를 붙여넣습니다. API 응답을 그대로 넣어도 됩니다.
  2. 2객체 여러 개를 배열로 주면 필수 키를 더 정확히 가려냅니다.
  3. 3만들어진 스키마를 복사해 다듬어 씁니다.

자주 묻는 질문

모든 예시에 있는 키만 필수로 봅니다. 객체 여러 개를 배열로 주면 어떤 키가 빠질 수 있는지 알 수 있어 더 정확해집니다. 객체 하나만 주면 그 키들이 전부 필수가 되므로, 선택 항목이 있다면 그 항목이 없는 예시도 함께 넣으세요.

anyOf로 묶습니다. 예를 들어 [1, "둘"]이면 integer와 string을 모두 담습니다. 하나를 골라 버리면 나머지 값이 스키마 검증에서 걸리기 때문입니다. 정수와 실수가 섞인 경우만 예외로 number로 넓힙니다.

타입만 적고 안은 비워 둡니다. 원소가 하나도 없으면 무엇이 들어갈지 알 방법이 없기 때문입니다. 값이 든 예시를 함께 넣으면 채워집니다.

출발점으로 쓰세요. 예시에서 알아낼 수 있는 것은 구조와 타입까지입니다. 값의 범위(minimum, maxLength), 형식(format: date-time, email), 설명(description), 열거값(enum) 같은 것은 무엇을 담는 데이터인지 알아야 정할 수 있으므로 직접 채워야 합니다.

JSON 포맷터(json-format)는 들여쓰기를 정리하고, JSON↔CSV 변환기(json-to-csv)는 표로 바꿉니다. 이 도구는 데이터가 아니라 그 데이터의 구조를 설명하는 문서를 만듭니다.

알아두면 좋은 점

  • JSON Schema draft 2020-12 형식으로 만듭니다.
  • 예시에서 알 수 있는 구조와 타입까지만 뽑습니다. 값의 범위·형식·설명은 직접 채우세요.
  • 모든 처리는 브라우저에서 이루어지며 입력한 JSON은 서버로 전송되지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 8월 29일 · 결과는 참고용 추정치입니다.