Json Schema对Value字段的限制,可以是Integer或String

时间:2015-02-12 08:48:29

标签: javascript ruby json ruby-on-rails-3

我目前在我的代码中有一个JSON架构

 {
    'type' => 'object', 'required' => true, 'additionalProperties' => false,
    'properties' => {
        'variables' => {
            'type' => 'array', 'required' => true,
            'items' => {
                'type' => 'object', 'required' => true, 'additionalProperties' => false,
                'properties' => {
                    'variable' => { 'type' => 'string', 'required' => true },
                    'value' => { 'required' => true }
                    }
                }
            }
        }
}

我正在尝试在值字段中添加一些额外的验证。例如。如果String长度不应超过64个字符,并且在Integer值的情况下应该在Integer限制。我应该如何定义这个架构。

1 个答案:

答案 0 :(得分:0)

对于小于或等于1024的正整数:

"type": "integer",
"minimum": 0,
"maximum": 1024

对于字符串不为空且不超过64个符号:

"type": "string",
"pattern": "^.{1,64}$"

所有警卫都有很好的解释at official site