Как установить несколько типов для поля JsonSchema в Json.Net?

Как я могу установить множественный тип в JsonSchema. Я хочу, чтобы поле описания в приведенном ниже примере было JsonSchemaType.String или JsonSchemaType.null.

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

Кроме того, у меня есть массив, состоящий из целых чисел и чисел с плавающей запятой.

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

Проверка завершается неудачей, так как она ожидает целое число, но получает число с плавающей запятой. Могу ли я сделать что-то вроде Type = JsonSchemaType.Integer "или" JsonSchemaType.Float


person sshah    schedule 14.07.2014    source источник
comment
Не указывайте поиск Google в заголовке вопроса. Поместите вопрос, который вы задаете, в заголовок.   -  person Robert Harvey    schedule 15.07.2014


Ответы (1)


Это можно сделать с помощью простого оператора |

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