Unten ist ein Auszug aus einer JSON-Antwort von einem Dienst erhalten.Dynamische JsonProperty
aggregations: {
gender: {
...other data
}
}
Der Dienst wird immer die gleiche Struktur, aber mit verschiedenen Aggregationstyp basierend auf einigen Parametern zurückgeben. Der Begriff "Geschlecht" kann also "Alter" oder "Stadt" oder irgendetwas anderes sein. Ich suche nach einer Möglichkeit, ein .Net-Objekt zu erstellen, ist möglich, mit einem dynamischen Eigenschaftsnamen, so dass ich kein separates Objekt für jede Aggregation haben muss. etwas wie das:
public class Aggregation {
[JsonProperty(PropertyName = "<dynamic value based on json response>")]
public List<string> AggregationValues { get; set; }
}
Gibt es einen anderen Weg, dies zu erreichen? Danke für Ihre Hilfe.
Werfen Sie einen Blick auf diese Antwort http://stackoverflow.com/questions/26882986/overwrite-json-property-name-in-c-sharp – smoksnes
Ich habe dies mit benutzerdefinierten ContractResolver getan, wie @smoksnes schlägt und es funktionierte schön Gut. Gleichzeitig würde ich versuchen, es als Dictionary zu deserialisieren, denn das ist es im Wesentlichen. –