Ich arbeite an einer API, die letztlich einen Datenextrakt im JSON-Format zurückgibt. Dies ist nicht mein genauer Code. Ich habe die Idee vereinfacht, damit ich meine Frage besser vermitteln kann.Erstellen und Füllen eines Objekts mit komplexen Typen
Es gibt eine Methode, die die Datenbank abfragt und die folgenden Spalten zurückgibt: KundenID, Kundenname, Präferenz, PräferenzWert (wobei ein Kunde Dutzende von Präferenzen hat). Der Datensatz ist nach CustomerID geordnet.
Mein Ziel ist es, ein JSON-Objekt wie folgt zurück:
{
"Customer": {
"CustomerID": "123",
"CustomerName": "John Smith",
"CustomerPreferences": {
"Color": "Red",
"Texture": "Rough",
"Size": "Medium",
"Weight": "Heavy"
}
}
}
ich zu C# und OO bin neu. Zu diesem Zweck habe ich den ganzen Tag verschiedene Ansätze erforscht und ausprobiert. Ich kann dies mit einem einzigen Objekt tun, kein Problem, aber nicht mit einer verschachtelten Klasse. Meine Intuition sagt mir, dass das, was ich versuche, nicht viel schwieriger sein sollte ... aber es entzieht sich mir weiterhin.
Ich habe das versucht (es hat nicht funktioniert). Ich habe diese Klasse (Anmerkung: es ist die gleiche Form wie die JSON Ich hoffe zu bekommen):
public class Customer
{
public string CustomerID { get; set; }
public string CustomerName { get; set; }
public class Preferences
{
public string Preference { get; set; }
public string PreferenceValue { get; set; }
}
}
Dann habe ich die Objekte erstellt (obwohl an dieser Stelle, ich bin schon sicher, dass ich auf der falsche Weg, da ich gezwungen, sie getrennt zu initialisieren):
List<Customer> lstCustomer = new List<Customer>();
List<Customer.Preference> lstPref = new List<Customer.Preference>();
Dann versuchte ich durch meine Abfrageergebnisse Looping ... (nicht sicher, warum ich das immer noch teilen bin, da ich weiß, es doesn‘ t arbeiten, und ich bin wahrscheinlich peinlich selbst!):
Ich habe das Gefühl, das ist relativ einfach. Ich habe gesucht und gesucht und kann keine Lösung finden. Sobald ich ein Objekt erstellt und ausgefüllt habe, wird es als JSON zurückgegeben. Aber ich kann nicht herausfinden, wie man diese einfache Datenstruktur erstellt!