在JSON模式中约束密钥

时间:2017-01-27 00:37:33

标签: json schema

我想使用JSON模式将 key 中的约束放在JSON文档中。例如,我可能有一个如下所示的JSON文档:

{
    "id": 1,
    "name": "a green door",
    "price": 12.50,
    "tags": ["home", "green"]
}

我不关心使用哪些特定键,但我想在架构中强制执行任何键都不超过一定数量的字符;让我们说4个字符是为了争论。上面的示例将失败模式验证,因为“price”长度为5个字符。

我知道如何验证值的长度 - 在这里,我关心

1 个答案:

答案 0 :(得分:1)

您可以使用 function showCrtl($scope){ $scope.field="Chanel"; $scope.changemode=function(event){ if(event.charCode==13){ $scope.editMode = false; } } } 将属性名称限制为与正则表达式匹配的属性名称。在您的示例中,它可能如下所示:

patternProperties

注意{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "additionalProperties": false, "patternProperties": { "^.{1,4}$": {} } } 也是必要的。