Chúng tôi đã thực hiện xác nhận lược đồ json (sử dụng newtonsoft) trên lớp còn lại của chúng tôi. Nó thực sự tạo ra sự khác biệt, nhưng tôi có một câu hỏi về khả năng và cách thức.xác thực lược đồ json. Làm thế nào tôi có thể chấp nhận một mảng hoặc null?
Đối với một tài sản cụ thể, sau đây là hợp lệ (theo chủ sở hữu sản phẩm):
.... lựa chọn: [] .......
.... lựa chọn: [ "hello", "thế giới"]
.... sự lựa chọn: null .....
đây là một đẽo xuống ví dụ về định nghĩa schema json
{
'description': 'myDescription',
'type': 'object',
'properties':
{
'name': {'type':'string', 'required': true},
'description': {'type':'string'},
'choices': {'type': 'array',
'items': {'type': 'string'}}
}
Rõ ràng là 2 ví dụ đầu tiên vượt qua xác thực, nhưng sau đó không thành công với lỗi "mong đợi một mảng".
Thuộc tính là tùy chọn.
Ngoài ra, nếu có ai có liên kết tốt đến bộ tài liệu đầy đủ về định nghĩa lược đồ json, tôi rất muốn có được nó. Tôi đã không tìm thấy một nguồn duy nhất tốt, nhưng tôi chắc chắn có một.
Cảm ơn bạn.
-r
Cảm ơn bạn. Điều này giải quyết được vấn đề. Tôi cũng phát hiện ra 'type': 'any' cũng hữu ích trong một số thuộc tính của chúng ta, nơi kiểu phụ thuộc vào một số thuộc tính khác của tải trọng. –
Trong googling hơn nữa, tôi thấy điều này cũng hữu ích và có một số ví dụ tốt hơn: http://tools.ietf.org/html/draft-zyp-json-schema-03 –
@RogerJoys yeah Tôi đã xem xét điều đó. Nếu bạn đăng các câu hỏi lược đồ json khác trên SO, tôi sẽ trả lời chúng. Chúng được sử dụng khá tốt nên không có nhiều thông tin về chúng nhưng tôi đã sử dụng chúng một chút nên tôi biết ít nhất tất cả các khái niệm cơ bản cộng với một vài thủ thuật khác. – evanmcdonnal