2013-04-25 33 views

Trả lời

6

Điều này có nghĩa là đối tượng phải có giá trị không phải là undefined cho thuộc tính address (nếu required).

15

Thực ra, chúng là các biểu thức tương đương, nhưng sử dụng các phiên bản tiêu chuẩn khác nhau.

optional là từ v2, required là từ v3. Bạn nên chắc chắn rằng bạn đang sử dụng đúng cho công cụ của bạn (mặc dù lý tưởng bạn nên chuyển sang v4 nếu bạn có thể).

24

IETF draft v4 của lược đồ JSON chỉ xác định required và không bao gồm optional.

Để trích dẫn section trên required từ dự thảo v4:

giá trị hợp lệ: Giá trị của từ khóa này phải là một mảng. Mảng này PHẢI có ít nhất một phần tử. Các phần tử của mảng này PHẢI là chuỗi và PHẢI là duy nhất.

Điều kiện để xác nhận thành công: Một đối tượng dụ có giá trị đối với từ khóa này nếu bộ tài sản của mình có chứa tất cả các yếu tố về giá trị mảng của từ khoá này.

Thực tế, sử dụng required làm cho tùy chọn tất cả các thuộc tính mà trong đó tên không được bao gồm trong chuỗi chuỗi đã cho.

+0

Tôi không thể nói lý do nhưng yêu cầu dường như trống trong liên kết. Liên kết là chính xác mặc dù – erikbwork

+2

@ erikb85 Trong [link] (http://json-schema.org/latest/json-schema-validation.html#anchor61), "5.4.3. Required" chỉ là một tiêu đề tổng thể; hai phần phụ bên dưới chi tiết việc sử dụng từ khoá "bắt buộc". –

+0

Ah được rồi, điều đó thực sự không rõ ràng khi nhìn vào doucment. Định dạng của bạn rõ ràng hơn trong mắt tôi. – erikbwork

Các vấn đề liên quan