0
NJsonSchemaを使用してC#クラスを生成しようとしていますが、配列 "anonymous_"のオブジェクトのクラスに名前を付けています。コレクションプロパティ名に基づいてコレクション内のオブジェクトのC#クラス名を生成
たとえば、このJSON Schemaのスニペット
"Identifiers": { "type": "array", "items": { "type": "object", "properties": { "ID": { "type": "string" }, "IDType": { "type": "string" } }, "required": [ "ID", "IDType" ] }
はに従って、コレクションに名前のオブジェクトにNJsonSchemaを強制する方法があるかどう疑問に思う、この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); } }
を生成しますコレクション名の特異なバージョンです(この場合、anonymous
クラスの名前はIdentifier
のようになります)。クラスdesコレクション内の冠オブジェクトをIdentifiers
と呼びます)。私はこのためにカスタムTypeNameGeneratorを使用しようとしましたが、コレクションの名前はGenerate
関数には提供されていません。スキーマを変更することができた場合は