Meine Nutzlast würde wie folgt aussehen:C# JSON Deserialize Dictionary <Zeichenfolge, Wörterbuch <Zeichenfolge, Zeichenfolge >> optional?
{
"REFERENCE": "1",
"FIELDS" : {
"CUST" : "1234",
"PROD" : "PR2134",
"LIMIT" : "12345",
"LINES" : {
"LINE" : "01",
"DATA" : "12"
}
}
}
Mein Objekt hat einfach folgendes:
public class TriggerRequest
{
public string reference { get; set; }
public Dictionary<string, string> fields { get; set; }
}
Offensichtlich ist dies nicht behandelt die LINES-Objekt. Wie kann ich eine Klasse erstellen, die eine eingehende Nutzlast deserialisiert, wo so etwas wie LINES dynamisch ist (dh ich kann in der Nutzlast an einem beliebigen Punkt in jedem Wörterbuch> senden und es wird richtig deserialisieren. Ist das etwas, wenn ich eine benutzerdefinierte erstellen müssen JsonConverter ?
Ihren eigenen JSON-Konverter rollen Es ist, weil es ist Groß- und Kleinschreibung .. – Steve
Vor dem Start ändern Sie in einige der Paketen bereits zur Verfügung, einschließlich aussehen sollten JSON.net und Silverlight 'System.Json' die meisten von ihnen haben die Fähigkeit, dynamische oder' Wörterbuch deserialisieren '' –
JObject obj = JsonConv ert.DeserializeJson (string json) 'aus der' Newtonsoft.Json' Bibliothek (AKA Json.net) würde wahrscheinlich gut funktionieren, für das, was Sie versuchen zu erreichen. –