JSON schema trong lập trình mạng (tiếp tục)
Key hostname khá là đơn giản. Bạn biết nó cần là string, nhưng bạn cũng có thể muốn buộc một độ dài tối đa và tối
thiểu:
Đặc tính nameservers hơi phức tạp hơn một chút, vì nó trình bày một mảng các giá trị:
Bạn cần không chỉ chỉ ra dạng aray cho đặc tính này mà còn sử dụng trường items để mô tả dạng các phần tử của mảng
đó – trong trường hợp này là string. Bạn có thể cũng chỉ ra rằng mảng phải có ít nhất một item với trường minItems,
và rằng mảng không nên chứa các trùng bằng cách thiết lập uniqueItems là true.
Cuối cùng, vlans là hơi chút phức tạp hơn vì nó là một mảng các objects:
May mắn là, phần này của tài liệu JSON hầu như sử dụng từ ngữ bạn đã thấy. Dạng của vlans là array, nhưng phần tử
của nó là dạng object. Vì vậy, bạn cũng cần sử dụng trường properties để mô tả các đặc tính của mỗi object trong
mảng. Đây là nơi bạn có thể sử dụng trường required một lần nữa để chỉ ra rằng id và name là các keys bắt buộc trong
mỗi phần tử. Bạn có thể chỉ ra rằng id không chỉ là số nguyên, mà còn giữa 1 và 4094.
Cùng với nhau, JSON schema của chúng ta trông giống cái này: