【发布时间】:2018-03-27 09:05:40
【问题描述】:
我正在尝试使用 NJsonSchema 生成 C# 类,但它正在为数组“anonymous_”中的对象命名类。
比如这个json模式sn-p
“标识符”:{
“类型”:“数组”,
“项目”: {
“类型”:“对象”,
“特性”: {
“ID”: {
“类型”:“字符串”
},
“ID 类型”:{
“类型”:“字符串”
}
},
“必需的”: [
“ID”,
“ID 类型”
]
}
生成此 C# 属性和类
[Newtonsoft.Json.JsonProperty(“标识符”,必需 = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] 公共 System.Collections.ObjectModel.ObservableCollection [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "9.3.0.0")]
公共部分类匿名
{
[Newtonsoft.Json.JsonProperty("ID", 必需 = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
公共字符串 ID { 获取;放; }
[Newtonsoft.Json.JsonProperty("IDType", 必需 = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
公共字符串 IDType { 获取;放; }
公共字符串 ToJson()
{
返回 Newtonsoft.Json.JsonConvert.SerializeObject(this);
}
公共静态匿名FromJson(字符串数据)
{
返回 Newtonsoft.Json.JsonConvert.DeserializeObject(数据);
}
}
想知道是否有一种方法可以强制 NJsonSchema 根据集合名称的单数化版本来命名集合中的对象(例如,在这种情况下,我希望将 anonymous 类命名为 Identifier 之类的名称,因为类描述名为Identifiers 的集合中的对象。我尝试为此使用自定义 TypeNameGenerator,但集合的名称未提供给 Generate 函数。
【问题讨论】:
标签: c# njsonschema