JSON Schema 도구

JSON Schema 도구 활용 방법 – 단계별 가이드

JSON Schema로 API 계약을 문서화하고, JSON payload를 검증하며, 테스트/데모용으로 현실적인 mock 데이터를 생성할 수 있습니다.

  1. 1단계 – 실제 샘플로 시작

    • 먼저 포매터에 실제 API 응답, 요청 payload, 또는 설정 JSON을 붙여넣어 정리합니다.
    • 스키마 드리프트를 피하려면 엔드포인트마다 대표 JSON 예제를 하나씩 유지하세요.
  2. 2단계 – 기본 스키마 생성

    • Schema Generator로 타입, 필수 필드, 중첩 구조를 추론합니다.
    • 운영 환경에서는 설명, format, 제약(min/max, pattern 등)을 다듬어 적용하세요.
  3. 3단계 – 스키마로 JSON 검증

    • Schema Validator에 스키마와 실제 payload를 붙여넣어 검증합니다.
    • 오류는 JSON 샘플(버그) 또는 스키마(계약 변경)를 업데이트해 해결합니다.
  4. 4단계 – 테스트용 mock 데이터 생성

    • Mock Generator를 열어 스키마와 일치하는 현실적인 샘플 payload를 생성합니다.
    • seed와 batch size를 사용하면 테스트 데이터의 재현성과 확장성을 확보할 수 있습니다.
  5. 5단계 – 공유 및 재사용

    • 스키마를 버전 관리에 저장하고 API 문서에서 링크하여 재사용하세요.
    • 안정적인 JSON 샘플에서 TypeScript/Java 등의 타입 코드를 생성할 수 있습니다.

JSON Schema 기능에 대한 중요한 안내

  • 일부 스키마는 $ref, anyOf, oneOf, allOf같은 고급 keyword에 의존합니다.
  • Validator는 draft와 keyword 지원 범위가 다를 수 있습니다. 엄격한 준수가 필요하다면 CI에서 전체 기능 JSON Schema validator를 사용하세요.
예시: JSON → JSON Schema (간단 버전)
// JSON input
{
  "id": 1,
  "name": "Maeve Winters",
  "active": true,
  "tags": ["developer", "backend"]
}

// Generated schema (example)
{
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "active": { "type": "boolean" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    }
  },
  "required": ["id", "name", "active", "tags"]
}

관련 JSON Schema & 검증 도구

스키마 생성, 데이터 검증, mock payload 생성, 안정적인 JSON을 타입 코드로 변환하는 데 도움이 되는 도구들입니다.

자주 묻는 질문

JSON Schema란 무엇인가요?

JSON Schema는 JSON 문서에 주석을 달고 검증할 수 있게 해주는 규격(어휘)입니다. 애플리케이션이 요구하는 JSON 데이터의 구조와 규칙을 계약(컨트랙트) 형태로 표현합니다.

스키마를 생성할 때와 검증할 때는 언제 사용하나요?

기존 JSON 데이터에서 검증 규칙을 만들고 싶다면 스키마를 생성하세요. 이미 스키마가 있고 JSON 데이터가 그 규칙을 따르는지 확인하려면 검증을 사용합니다.

Generator와 Validator의 차이는 무엇인가요?

Schema Generator는 데이터에서 새로운 JSON Schema를 만들고, Schema Validator는 기존 스키마의 규칙과 제약을 기준으로 JSON 데이터를 검사합니다.

다른 도구에서 만든 스키마도 사용할 수 있나요?

네! 두 도구 모두 표준 JSON Schema 형식(Draft 4/6/7/2019-09)을 지원하므로, 다른 애플리케이션에서 가져오거나 내보내어 재사용할 수 있습니다.

JSON Schema 도구 | JSONSwiss