C# JsonSchemaGenerator字符串自定义契约解析程序
我想从自定义对象创建一个模式。自定义对象有一些字符串属性,这些属性被模式化,类型为C# JsonSchemaGenerator字符串自定义契约解析程序,c#,json,json.net,jsonschema,C#,Json,Json.net,Jsonschema,我想从自定义对象创建一个模式。自定义对象有一些字符串属性,这些属性被模式化,类型为string | Null。如何修改JSonSchemaGenerator以将字符串转换为类型String,而不是String | Null? 换句话说,如果我序列化Jsonschema,我不希望这样: { "title":"myObject", "type":"object", "properties":{ "ID":{ "required":true, "type":
string | Null
。如何修改JSonSchemaGenerator
以将字符串转换为类型String
,而不是String | Null
?
换句话说,如果我序列化Jsonschema,我不希望这样:
{
"title":"myObject",
"type":"object",
"properties":{
"ID":{
"required":true,
"type":["string","null"]
}
}
}
但这是:
{
"title":"myObject",
"type":"object",
"properties":{
"ID":{
"required":true,
"type":"string"
}
}
}
你可以做:
[JsonProperty(Required = Required.Always)]
public string ID {get;set;}
默认情况下,所有字符串都可以为空。当然,不可为空的字符串在C中不存在,但我们讨论的是json模式,而不是C。在jsonSchema中,您不必使用以下内容:
“color”:{“required”:true,“type”:[“string”,“null”]}
,您可以使用此“color”:{“required”:true,“type”:“string”},
您解决了这个问题吗?