0
我试图使用NJsonSchema生成C#类,但它命名数组“anonymous_”中的对象的类。根据集合属性名称为集合中的对象生成C#类名称
例如,此JSON模式片段
"Identifiers": { "type": "array", "items": { "type": "object", "properties": { "ID": { "type": "string" }, "IDType": { "type": "string" } }, "required": [ "ID", "IDType" ] }
生成此C#属性和阶级
[Newtonsoft.Json.JsonProperty("Identifiers", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public System.Collections.ObjectModel.ObservableCollection<Anonymous> Identifiers { get; set; } = new System.Collections.ObjectModel.ObservableCollection<Anonymous>();
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "9.3.0.0")] public partial class Anonymous { [Newtonsoft.Json.JsonProperty("ID", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public string ID { get; set; } [Newtonsoft.Json.JsonProperty("IDType", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public string IDType { get; set; } public string ToJson() { return Newtonsoft.Json.JsonConvert.SerializeObject(this); } public static Anonymous FromJson(string data) { return Newtonsoft.Json.JsonConvert.DeserializeObject<Anonymous>(data); } }
知道是否有办法迫使NJsonSchema根据集合中的命名对象集合名称的单数化版本(例如,在这种情况下,我希望anonymous
类被命名为类似Identifier
,因为类des在一个名为Identifiers
的收集中收集赃物)。我已经尝试过使用自定义的TypeNameGenerator,但是该集合的名称未提供给Generate
函数。