Also sagen wir, ich habe ein Modell, das ich mit Daten füllen möchte, aber nicht alle Daten auf einmal.Deserializing Json in "Raten"
Das Modell ist:
public class SubPlayground
{
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("type")]
public string Type { get; set; }
[JsonProperty("weekdays")]
public List<Dictionary<string, string>> Weekdays { get; set; }
}
//Say here we want to populate the first two properties
var m = JsonConvert.DeserializeObject<SubPlayground>(jsonString1);
//And here populate the third one without overriding the first two
m = JsonConvert.DeserializeObject<SubPlayground>(jsonString2);
Gibt es eine Abhilfe für dieses?
Edit: Zur Klarstellung: Die beiden jsonString
s unterschiedlich sind, wird jeder nur die entsprechenden Eigenschaften enthalten. So dass jsonString1
wird Name und Typ enthalten, während jsonString2
wird nur Wochentage enthalten.
Sie brauchen werden, um mehr Informationen über Ihre Anforderungen bieten ... Haben beide JSON-Strings alle Eigenschaften in den JSON-Daten enthalten müssen oder können Sie enthalten nur die zusätzlichen Eigenschaften, die Sie laden möchten? Sind beide JSON-Strings gleich oder unterscheiden sie sich? Wenn sie anders sind, wie? –
Entschuldigung, dass ich das nicht erklärt habe. Die beiden 'jsonStrings' sind unterschiedlich, jeder enthält nur die entsprechenden Eigenschaften. So wird 'jsonString1'' name' und 'type' enthalten, während' jsonString2' nur 'wochentage' enthält. –
Macht Sinn. Xiaoys Antwort würde dann gut für dich funktionieren. Können Sie Ihre Frage aktualisieren, um diese zusätzlichen Informationen aufzunehmen, damit andere die Funktionsweise der PopulateObject-Methode verstehen? Danke! –