본문으로 건너뛰기
스키마 도구

JSON → OpenAPI 스키마 생성

JSON을 붙여넣으면 OpenAPI 컴포넌트 스키마를 바로 만듭니다.
객체와 배열을 JSON Schema로 변환해 필수 필드를 포함하고, 혼합 배열은 oneOf로 표현합니다.
모든 처리는 브라우저에서만 이뤄지며, 데이터가 서버로 전송되지 않습니다.

가이드: 사용 방법 및 특징

  • 입력 칸에 JSON을 붙여넣고 “OpenAPI로 변환”을 누릅니다.
  • 객체는 properties와 required를 포함한 JSON Schema 구조로 펼쳐집니다.
  • 배열은 요소 타입을 추론하며 여러 타입이 섞이면 oneOf로 출력합니다.
  • 복사 또는 초기화 버튼으로 결과를 재사용하거나 다시 시도하세요.

샘플: 입출력 예시

Infer schema from a profile object

입력 예시

{"name":"Jane","email":"[email protected]","verified":true}

출력 예시

{
  "type": "object",
  "properties": {
    "name": {"type": "string"},
    "email": {"type": "string", "format": "email"},
    "verified": {"type": "boolean"}
  },
  "required": ["name", "email", "verified"]
}

FAQ: 자주 묻는 질문

  • 출력 형태는 어떻게 되나요?

    components.schemas.Root 아래에 properties와 required를 가진 JSON Schema로 생성됩니다.
  • 혼합 배열이나 null 값은 어떻게 처리하나요?

    요소별 스키마를 만들고 여러 타입이면 oneOf를 사용합니다. null은 nullable: true로 표현합니다.
  • 입력 데이터가 서버로 전송되나요?

    아니요. 모든 처리가 브라우저에서만 이뤄지며 네트워크 요청이 없습니다.

활용: 주요 활용 사례

  • Drafting schemas

    Transform JSON samples into OpenAPI schema stubs to seed documentation or mock generation.

  • Sharing endpoint expectations fast

    Convert request/response examples and paste them into PRs or issues to align on contract details.

  • Checking consistency with existing specs

    Compare generated stubs with current definitions to spot fields that need updates.

주의: 주의사항 및 제한

  • 브라우저 안에서만 처리

    입력과 출력은 기기 안에 머무릅니다. 탭을 닫거나 캐시를 삭제하면 임시 상태가 초기화됩니다.

  • 중요 데이터는 검증 필수

    결과는 보조 용도이므로 운영 환경에 넣기 전에 반드시 내용을 확인하고 필요한 검증을 수행하세요.

  • 큰 데이터는 기기 성능에 영향

    매우 큰 텍스트나 파일은 일부 브라우저에서 느려질 수 있습니다. 무거운 작업은 데스크톱 사용을 권장합니다.

JSON에서 OpenAPI 스키마 생성

샘플 JSON을 OpenAPI schema로 변환해 request, response, components.schemas 문서화의 초안을 만들 수 있습니다. 각 property를 수동으로 작성하는 시간을 줄여줍니다.

도움이 되는 상황

  • endpoint 문서화: 실제 응답에서 schema를 시작합니다.
  • API 계약 정리: 타입, required property, 중첩 구조를 확인합니다.
  • Swagger 문서 준비: OpenAPI용 schema 초안을 생성합니다.

format, enum, optional field, array 제약은 자동 추론만으로 충분하지 않을 수 있으니 직접 검토하세요.

이 도구의 관련 기사

최신 아티클

활용 사례
2026-08-07

curl 옵션 정리|-X -H -d 가 실제로 하는 일과 함정

실무에서 만나는 curl 옵션을 표로 정리했습니다. -d 만으로 이미 POST가 되는 이유, -d 와 --data-raw 의 차이, 앞의 @ 가 조용히 파일을 읽는 함정, 작은따옴표와 큰따옴표의 구분, -k 와 -L 을 쉽게 붙이면 안 되는 이유까지 예제로 설명합니다.

도구 소개
2026-08-06

JSON Schema와 Zod를 상호 변환하는 원리|required와 .optional()의 대응

JSON Schema에서 Zod 스키마를 만들고 Zod 코드에서 다시 JSON Schema를 뽑아내는 양방향 변환기의 구현을 해설합니다. required와 .optional()의 기본값이 반대인 문제, 제약 조건 대응표, 코드를 실행하지 않고 해석하는 방법까지 정리합니다.

활용 사례
2026-08-06

SQL 절 실행 순서 레퍼런스|WHERE에서 SELECT 별칭을 못 쓰는 이유

SQL은 작성한 순서대로 실행되지 않습니다. 논리적 실행 순서(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)를 축으로, 별칭이 WHERE에서 안 되는 이유, WHERE와 HAVING의 구분, ONLY_FULL_GROUP_BY, COUNT(*)와 COUNT(컬럼)의 차이, LEFT JOIN + WHERE 함정을 예제로 정리합니다.

활용 사례
2026-08-06

unified diff 형식 읽는 법|git diff의 @@ 헤더 완전 해설

git이 출력하는 unified diff 형식을 읽는 법을 정리했습니다. @@ -12,7 +12,9 @@ 의 네 숫자가 뜻하는 것, 한 글자만 고쳐도 줄 전체가 바뀐 것처럼 보이는 이유, 공백과 줄바꿈 문자의 함정, \ No newline at end of file, 머지 커밋의 @@@, similarity index를 통한 이름 변경 감지까지 예제로 설명합니다.

활용 사례
2026-08-06

UTC⇄JST/KST 변환 레퍼런스|9시간 시차 대조표와 타임존 사고 예방법

UTC와 일본 시간(JST)·한국 시간(KST)의 변환을 대조표로 정리했습니다. ISO 8601의 Z와 +09:00의 의미, JavaScript 날짜 파싱이 9시간 어긋나는 조건, MySQL/PostgreSQL의 타임존 동작, GitHub Actions cron이 UTC로 도는 함정까지 예제와 함께 해설합니다.

활용 사례
2026-08-04

CREATE TABLE 레퍼런스|MySQL·PostgreSQL·SQLite의 타입과 제약 조건 차이

CREATE TABLE(DDL) 작성법을 3개 데이터베이스 비교표로 정리했습니다. 타입 대응표, 자동 증가(AUTO_INCREMENT / IDENTITY / rowid)의 방언 차이, 외래 키의 ON DELETE 동작, MySQL이 조용히 무시하는 CHECK 제약까지 예제와 함께 해설합니다.

광고

광고