JSON schema trong lập trình mạng (tiếp tục)
Như thảo luận ở phần trước, bạn có thể muốn đảm bảo rằng dữ liệu thể hiện trong code trên tuân thủ một vài bó hẹp
thêm vượt quá những cái được đặt bởi hệ thống dạng cơ bản:
+ Các mảng vlans và nameservers phải không được rỗng, và chúng phải không chứa nhập vào trùng.
+ VLAN IDs phải giữa 1 và 4094.
+ Tất cả 3 trường – hostname, vlans và nameservers – phải có mặt; chúng không thể bị bỏ đi khỏi tài liệu.
Một tài liệu JSON Schema luôn thực sự được viết bằng JSON, sử dụng một tập các từ và trường định nghĩa trước. Tạo
một tài liệu JSON Schema mới bắt đầu bằng cách định nghĩa dạng bên ngoài. Vì dữ liệu cấu hình của chúng ta là một
JSON object, bạn có thể chỉ ra cái này bằng cách sử dụng đặc tính type. Bạn cũng có thể cung cấp metadata hữu
dụng như title và description cho schema của chúng ta. Đặc tính $schema chỉ ra phiên bản của JSON Schema bạn
đang sử dụng. Cái này cho phép các công cụ cái sử dụng schema này để biết các quy tắc nào sẽ sử dụng khi trình
bày schema này và hiệu lực hóa dữ liệu với nó. Code dưới thể hiện một định nghĩa cho một JSON Schema.
Định nghĩa này bao gồm 2 trường cái bạn sẽ thấy nhiều hơn trong các code sau. Key required tham chiếu các keys bên
trong tài liệu JSON cái là bắt buộc; chúng nên có mặt cho một tài liệu JSON được xem xét có hiệu lực. Đặc tính
properties cho phép bạn chỉ ra các bó hẹp thêm cái nên được áp dụng cho các keys này. Bây giờ hãy khám phá mỗi đặc
tính với các phần code cụ thể (3 phần code sau được chứa bên trong properties)