RSS DEV 커뮤니티
팔로우
브라우저 전용 JSON 스키마 검증기 구축 — Draft-07, $ref, allOf/anyOf/oneOf, if/then/else, 173개 테스트
새로운, 제로-디펜던시 브라우저 도구가 JSON Schema Draft-07 사양을 처음부터 검증하기 위해 개발되었습니다. 이 도구는 Node.js 프로젝트 설정 없이 빠른 스키마 확인, 디버깅 및 학습을 위해 설계되었습니다. 타입 시스템, 열거, 문자열, 숫자, 배열, 객체, 결합, 조건부, 참조를 포함한 Draft-07 키워드의 포괄적인 하위 집합을 구현합니다. 검증기는 또한 이메일, URI, 날짜 및 UUID와 같은 일반적인 형식을 지원합니다. 각 검증 오류는 실패한 값의 JSON 경로, 사람이 읽을 수 있는 메시지, 그리고 실패한 특정 규칙을 나타내는 키워드 배지를 제공합니다.도구의 아키텍처는 스키마에 대해 데이터를 검증하는 단일 재귀 함수를 기반으로 합니다. 데이터 타입이 스키마의 예상 타입과 일치하지 않으면 조기에 반환하여 타입 검사를 우선시합니다. 검증기는 또한 exclusive minimum 및 maximum 키워드에 대해 이전 Draft-04 버전과의 호환성을 처리합니다. 로컬 $ref 해결은 루트 스키마 내에서 JSON 포인터 경로를 탐색하여 관리되며, $ref 키워드는 사양에 따라 다른 모든 형제 키워드를 단축합니다.if/then/else를 사용한 조건부 검증은 Draft-07의 핵심 기능으로, 보다 동적인 스키마 규칙을 허용하기 위해 구현되었습니다. 이 도구는 구현된 모든 함수와 키워드를 다루는 170개 이상의 테스트를 포함하여 정확성과 신뢰성을 보장합니다. 사용자 인터페이스는 JSON과 스키마를 위한 분할 창 레이아웃을 특징으로 하며, 결과는 아래에 표시됩니다. 파싱 오류는 각 창에 즉시 표시됩니다. 오류 카드는 ajv와 같은 인기 있는 라이브러리의 형식을 반영하여 유익하도록 설계되었습니다. 즉각적인 탐색을 용이하게 하기 위해 세 가지 내장 예제가 제공됩니다. 이 도구는 json-schema-validator-dev.pages.dev에서 온라인으로 액세스할 수 있으며, 브라우저 전용 개발자 도구의 증가하는 컬렉션의 일부입니다.