피드로 돌아가기
JSON Structure: The Schema Language That Actually Works for Developer
Dev.toDev.to
Backend

JSON Schema 한계를 극복한 강력한 타입 시스템 기반의 JSON Structure 설계

JSON Structure: The Schema Language That Actually Works for Developer

Kin Lane2026년 5월 5일3intermediate

Context

JSON Schema의 anyOf, allOf 등 합성 구조가 시맨틱 보장을 제공하지 못해 Code Generation 도구마다 해석 결과가 다른 파편화 문제 발생. 단순 문서 검증 목적의 설계로 인해 DateTime, Decimal 등 실제 데이터 모델링에 필요한 기본 타입 부족 및 $ref 참조 경로의 모호함으로 인한 운영 효율 저하 직면.

Technical Solution

  • DB Column 및 언어별 Primitive Type과 직접 매핑되는 Rich Type System 도입을 통한 데이터 충실도 확보
  • $ref 사용 범위를 reusable-types 섹션으로 제한하고 $import 메커니즘을 통한 네임스페이스 기반 외부 참조 구조 설계
  • $uses 절을 통해 확장 스펙 의존성을 명시적으로 선언하는 내부 일관성 기반의 Extensibility 구조 채택
  • Avrotize Code Generator를 통한 7개 주요 언어의 Compile-ready 프로젝트 자동 생성 및 Self-serializing 클래스 구현
  • C# 구현체 기준 CBOR, MessagePack, XML 등 다중 직렬화 포맷 지원을 통한 전송 효율 최적화
  • AI Agent가 외부 통신 없이 스키마만으로 데이터 의미를 정확히 추론하도록 정밀한 시맨틱 정의 적용

- Code Generation이 필요한 시스템 설계 시 단순 검증용 스키마보다 타입 정의가 엄격한 IDL(Interface Definition Language) 검토 - 외부 참조 스키마 도입 시 절대/상대 경로 모호성을 제거하기 위한 Import 및 Namespace 전략 수립 - LLM 기반 데이터 파이프라인 구축 시 AI Agent의 추론 정확도를 높이기 위한 Rich Type 정의 적용 여부 확인

원문 읽기