2013-08-12 30 views
5

Tôi đang cố gắng xác thực lược đồ json dựa trên mối quan hệ giữa hai phần tử của đối tượng json.Lược đồ JSON: Phần tử hợp lệ dựa trên giá trị của một phần tử khác

Theo dự thảo của JSON Schema: để xác nhận yếu tố một json với các từ khóa liên depedant:

4,2. Từ khóa phụ thuộc giữa

Để xác thực một trường hợp, một số từ khóa bị ảnh hưởng bởi sự hiện diện (hoặc vắng mặt) của các từ khóa khác. Trong trường hợp này, tất cả các từ khóa này sẽ được nhóm trong cùng một phần.

http://json-schema.org/latest/json-schema-validation.html#anchor9

Vấn đề của tôi là dự thảo, không thực sự nói như thế nào để viết giản đồ để cung cấp xác nhận đó. Những gì tôi cần làm là xác thực một json như thế này:

{ a: 1, b: 2} 

Khi nào luôn thấp hơn hoặc bằng b. Điều này có thể được thực hiện? Làm cách nào để viết lược đồ?

Cảm ơn

Trả lời

5

gì mà một phần của spec có nghĩa là (ví dụ) rằng hành vi "additionalItems" từ khóa phụ thuộc vào từ khóa "items", vì vậy hai từ khóa được đặt cạnh nhau trong spec.

Thật không may, loại xác thực so sánh hai giá trị này là không thể trong Lược đồ JSON. Tất cả các ràng buộc giá trị được tính toán độc lập.

+0

Tôi hiểu, ok, tôi đánh giá cao sự giải thích, tôi bỏ lỡ hiểu các tài liệu sau đó .. – Deleteman

+1

Cập nhật nhỏ trên trang này. Phiên bản tiếp theo của Lược đồ JSON (v5) có thể có một từ khóa mới: ['$ data'] (https://github.com/json-schema/json-schema/wiki/%24data-%28v5-proposal%29) . Từ khóa này sẽ cho phép bạn làm chính xác những gì bạn muốn - vì vậy nó có thể là giá trị để theo dõi tiến độ của v5, đó là hy vọng sớm! :) – cloudfeet

+0

cảm ơn bạn đã cập nhật! : D – Deleteman