Json.Net kann die Eigenschaft einer von dictionary @ abgeleiteten Klasse nicht serialisiere
Ich habe eine Klasse, die vom Dictionary abgeleitet ist. Auch die Klasse selbst hat einClientId
Eigentum. Ich möchte die Auflistung dieser Klasse mit @ in eine JSON-Zeichenfolge de-serialisiereJson.Net
So folgte die DokumentationHie
public interface IClientSettings: IDictionary<string, string>
{
string ClientId { get; set; }
}
public class ClientSettings : Dictionary<string, string>, IClientSettings
{
public string ClientId { get; set; }
}
und dann entserialisiere ich Liste in Zeichenfolge
var list = new List<IClientSettings>();
var client1 = new ClientSettings();
client1.ClientId = "Client1";
client1.Add("key1", "value1");
client1.Add("key2", "value2");
client1.Add("key3", "value3");
var client2 = new ClientSettings();
client1.ClientId = "Client2";
client2.Add("key1", "value1");
client2.Add("key2", "value2");
client2.Add("key3", "value3");
list.Add(client1);
list.Add(client2);
string json = JsonConvert.SerializeObject(list, Formatting.Indented);
Console.WriteLine(json);
Dieser serialisiert jedoch nichtClientid
Eigentum. Unten ist die Ausgabe.
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
},
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
]
Ich bin nicht sicher, was ich hier vermisse. Ich habe auch vorschlag gefundenHie das vorschlagen, benutzerdefinierte Serialisierung zu tun, ist das die einzige Option, die ich habe?