happytails.ai
한국어

JSON Schema 병합기

여러 JSON Schema 또는 하나의 allOf 구성을 단일 스키마로 병합합니다. 함께 만족시킬 수 없는 규칙은 충돌로 나열됩니다.

최대 100,000자와 스키마 2~50개를 받습니다. 모든 작업은 브라우저에서 실행됩니다. 병합된 스키마 JSON, JSON 보고서, 충돌 목록 CSV를 다운로드할 수 있습니다. 스키마의 JSON 배열 또는 allOf가 있는 단일 스키마를 입력할 수 있습니다. YAML도 사용할 수 있습니다. 최대 100,000자까지 입력할 수 있습니다. 실행하기 전에 설정을 검토하세요.

내 결과

문제를 신고하거나 아이디어를 공유해 주세요.

JSON Schema 병합기
  1. 스키마 배열을 JSON으로 붙여 넣거나 allOf에 모두 나열된 스키마 하나를 붙여 넣으세요.
  2. JSON Schema draft를 선택하거나 자동 감지를 유지하세요.
  3. 병합을 실행하고 충돌 및 allOf에 유지된 규칙을 확인하세요.
  4. 병합된 스키마와 충돌 보고서 다운로드

알아두세요

최대 100,000자와 스키마 2~50개를 받습니다. 모든 작업은 브라우저에서 실행됩니다. 병합된 스키마 JSON, JSON 보고서, 충돌 목록 CSV를 다운로드할 수 있습니다.

규칙 결합 방식

유형은 교집합을 취하고 enum 및 const 값도 교집합을 취합니다. 최소 및 최대 경계는 더 엄격한 값으로 정하고 필수 목록은 합치며 속성은 하나씩 병합합니다. 한 스키마가 추가 속성을 금지하면 다른 스키마에만 정의된 속성도 금지됩니다. 그 속성이 필수이면 충돌로 보고합니다.

allOf에 유지되는 항목

서로 다른 정규식 두 개, oneOf, not, if와 then, 다른 속성 규칙과 함께 쓰는 patternProperties, unevaluated properties 등 정확히 결합할 수 없는 키워드가 있습니다. 스키마의 의미를 바꾸지 않도록 병합된 스키마의 allOf 안에 유지하고 보고서에도 나열합니다.

결과 확인

충돌 위치는 스키마에서 확인할 수 있습니다. 선택적 속성의 충돌이나 숫자에만 적용되는 규칙만으로 전체 스키마가 만족 불가능해지는 것은 아닙니다. 제한된 구조적 증명으로 병합 스키마를 만족하는 인스턴스가 없음을 확인한 경우에만 보고서가 provenUnsatisfiable로 표시합니다. 그렇지 않으면 이 플래그는 만족 가능성의 증명이 아닙니다. 충돌이 없으면 선택적 샘플 검사에서 Ajv로 각 구성의 후보를 다른 구성에 대조해 검증합니다. 별도의 입력 스키마는 각자의 로컬 참조 루트를 유지합니다. 샘플은 근거일 뿐, 완전한 동등성 증명은 아닙니다. __proto__를 속성, pattern, 종속성 키로 사용하는 스키마는 검증기가 거부합니다.