如何在Json.Net中为JsonSchema字段设置多个类型?

时间:2014-07-14 22:08:19

标签: json schema json.net jsonschema json-schema-validator

如何在JsonSchema中设置Multiple类型。 以下示例中的description字段我希望它是JsonSchemaType.String或JsonSchemaType.null。

 {PropertyNames.Id, new JsonSchema { Type = JsonSchemaType.Integer, Required = true }},
      {PropertyNames.Description, new JsonSchema { Type = JsonSchemaType.String, Required = true }}

另外,我有一个由Integers和float组成的数组。

 result[PropertyNames.Metrics] = new JsonSchema { Type = JsonSchemaType.Array, Required = true, Items = new List<JsonSchema> { new JsonSchema() { Type = JsonSchemaType.Integer } } };

验证失败,因为它需要整数但接收浮点数。我可以执行类似Type = JsonSchemaType.Integer“或”JsonSchemaType.Float

的操作

1 个答案:

答案 0 :(得分:2)

可以使用简单的|运算符

来完成
result[PropertyNames.Metrics] = new JsonSchema 
{ 
    Type = JsonSchemaType.Array, 
    Required = true, 
    Items = new List<JsonSchema> 
    { 
        new JsonSchema() 
        { 
            Type = JsonSchemaType.Integer | JsonSchemaType.Null
        } 
    }
};