스키마와 타입 생성

JSON 모의 데이터 생성기명시한 제약으로 재현하는 테스트 샘플

개수와 시드를 정하세요. 각 샘플을 입력 스키마로 검증합니다.

JSON 모의 데이터 생성기

JSON Schema

생성 결과

스키마와 결과는 이 브라우저에서 처리되며 업로드되지 않습니다.

생성 옵션

각 레코드는 입력 스키마를 개별적으로 따릅니다.

스키마를 확인한 뒤 생성하세요.

JSON 모의 데이터 생성기는 실제 고객 레코드를 복사하지 않고 API 계약에 맞는 픽스처를 준비할 때 유용합니다. 테스트에 필요한 필수 필드, 열거값, 범위를 스키마로 지정하세요.

테스트 데이터 생성에서 레코드 수와 배열 길이는 다릅니다. 개수 옵션은 독립 샘플 수이며, 각 샘플의 내부 구조는 입력 JSON Schema가 결정합니다.

JSON 모의 데이터 생성기를 쓰는 이유

실패한 테스트 재현

스키마, 결정적 시드, 설정을 함께 보관하면 같은 엔진 버전에서 같은 배치를 재현할 수 있습니다. 데이터가 매번 달라져 회귀 문제를 놓치는 상황을 줄여 줍니다.

같은 시드가 서로 일치하는 두 샘플 그룹을 만듭니다.

유효한 범위의 끝점 확인

경계 모드는 수치, 문자열 길이, 컬렉션 크기의 가능한 최솟값과 최댓값을 고릅니다. 후보는 독립 검증을 통과해야 하며, 미지원 제약을 임의 값으로 대체하지 않습니다.

유효한 경계 샘플은 검증을 통과하고 미지원 제약은 차단됩니다.

재현 조건 준비하기

01

루트 구조부터 정하기

기본값은 5개, 시드 42입니다. 루트가 배열이면 각각의 샘플도 배열입니다. 내부 배열은 스키마의 minItems와 maxItems로 제한하세요. 시드는 0–4294967295 범위의 정수입니다.

02

수정이 끝나면 실행하기

일반 또는 경계 모드를 선택하고 생성이나 Ctrl/Cmd+Enter를 누르세요. 입력이나 옵션이 바뀌면 기존 결과 내보내기는 즉시 비활성화됩니다. 중지로 현재 작업을 취소할 수 있습니다.

03

보고서와 교체 내용 확인하기

미지원 위치를 수정한 뒤 다시 생성하세요. 예제와 지우기는 미리보기 후 적용하며 한 번 되돌릴 수 있습니다. JSONL은 각 줄에 완전한 JSON 값 하나를 기록합니다.

생성 시 확인하는 제약

중첩 구조와 선택 필드

properties, required, additionalProperties가 객체를 결정합니다. 선택 필드의 생략과 null은 같지 않으며, null을 넣으려면 해당 스키마가 이를 허용해야 합니다.

제약의 교집합

type 배열, enum, const와 나란히 있는 제약을 함께 평가합니다. 열거값에 있어도 수치 상한을 넘으면 유효한 후보가 아닙니다.

배열 안의 고유성

uniqueItems는 개별 배열에 적용되며 전체 배치 레코드의 고유성을 보장하지 않습니다. 문자열 길이와 배열·객체 크기도 제약에 반영됩니다.

JSON 내보내기 형태

JSON은 샘플이 하나여도 바깥 배열로 감쌉니다. JSONL 각 줄은 객체뿐 아니라 배열이나 원시 값도 될 수 있습니다. 스키마는 바깥 포장이 아닌 각 레코드에 적용됩니다. JSON은 두 칸 들여쓰기로 고정되며 JSONL은 각 인스턴스를 한 줄에 기록합니다.

지원 범위와 작업 한도

명시된 draft-07 부분 집합
불리언 스키마, type 배열, enum, const, properties, required, additionalProperties, 단일 스키마 items, uniqueItems, 길이·개수 및 포함·제외 수치 경계를 지원합니다. type을 명시하세요. 제약만으로는 다른 타입을 허용할 수도 있습니다. true 스키마는 간단한 정수를 생성합니다.
미지원 제약 거부
참조, 조합, 조건, pattern, format, multipleOf, 튜플 items와 알 수 없는 키워드는 경로를 표시하고 거부합니다. enum과 const 안의 리터럴 객체 키는 스키마 키워드로 취급하지 않습니다.
경계 샘플의 의미
경계 모드도 유효한 데이터를 생성합니다. 모든 끝점이나 조합을 빠짐없이 다루지 않으며 잘못된 값을 주입하지 않습니다. 값의 범위가 좁으면 다른 시드도 같은 결과를 낼 수 있습니다.
입력과 생성 한도
1–100개. 스키마는 100000자, 구문 트리 깊이 12(properties와 enum 컨테이너 포함), 구문 트리 2000노드까지입니다. 생성 문자열은 1000 UTF-16 코드 단위, 배열·객체는 100항목까지입니다. 시도 횟수, 총 연산량, 워커 5초 제한도 적용됩니다. 전체 예산은 20000회 연산과 출력 1000000자입니다. const와 enum 값에도 문자열·컬렉션 한도가 적용됩니다. 시드는 0–4294967295의 정수여야 합니다.
실패가 불가능의 증명은 아님
모순된 제약, 고유 값 부족, 작업 한도로 샘플을 찾지 못할 수 있습니다. 예산 초과만으로 스키마에 수학적 해가 없다고 단정하지 않습니다.
합성 데이터만 생성
이름·주소 데이터베이스, 지역 팩, 필드 간 상관관계, 호스팅 Mock API, URL 가져오기, 클라우드 저장은 없습니다. 지원 정밀도를 넘는 숫자는 조용히 반올림하지 않고 거부합니다. 숫자는 유한해야 하며 정수는 JavaScript 안전 정수 범위여야 합니다. 숫자 토큰을 Number로 변환한 뒤 다시 문자열로 바꿨을 때 십진 값이 달라지면 거부합니다.

JSON 모의 데이터 생성기 질문

생성할 레코드 수를 정할 수 있나요?

네. 1–100개의 독립 레코드를 지정할 수 있습니다. 내부 배열 크기는 스키마와 생성 한도에 따르므로 작은 개수라도 큰 중첩 구조는 실패할 수 있습니다.

같은 시드로 같은 데이터를 만들 수 있나요?

네. JSON 모의 데이터 생성기에서 스키마, 시드, 개수, 모드와 엔진 버전을 유지하세요. const처럼 가능한 값이 하나뿐이면 다른 시드에서도 결과가 같습니다.

JSON과 NDJSON 중 어떤 형식으로 내보내나요?

JSON은 전체 샘플의 배열이며 JSONL은 각 줄에 독립 JSON 값 하나를 기록합니다. JSONL은 NDJSON으로도 불리며 각 줄에 배열이나 원시 값도 사용할 수 있습니다.

데이터가 서버에 업로드되나요?

업로드되지 않습니다. 스키마 해석, 생성과 검증은 현재 브라우저에서 수행하며 원격 참조를 가져오지 않습니다.

사용자 정의 필드를 생성할 수 있나요?

입력 스키마의 properties에 필드를 정의할 수 있습니다. 별도의 시각적 필드 편집기는 없으며 지원되는 타입과 제약으로 구성해야 합니다.

추가로 지원했으면 하는 제약이 있나요?

JSON 모의 데이터 생성기 사용하기

JSON 모의 데이터 생성기로 작은 배치를 만들고 일반 샘플과 유효한 경계 샘플이 테스트 의도에 맞는지 비교하세요.

결과와 함께 스키마, 시드, 옵션을 보관하면 다른 개발자도 같은 사례를 재현할 수 있습니다.