2016-06-16 7 views
2

以下は、サービスから受信したjson応答から抽出されたものです。Dynamic JsonProperty

aggregations: { 
    gender: { 
      ...other data 
    } 
} 

サービスは、同じ構造を毎回返すが、いくつかのパラメータに基づいて異なる集約タイプとなります。したがって、「性別」という用語は、「年齢」や「都市」などとすることができます。私は.Netオブジェクトを作成する方法を探しています。動的なプロパティ名を使用することができます。これにより、各集約ごとに個別のオブジェクトを持つ必要はありません。

public class Aggregation { 
    [JsonProperty(PropertyName = "<dynamic value based on json response>")] 
    public List<string> AggregationValues { get; set; } 
} 

これを達成する他の方法はありますか?ご協力ありがとうございました。

+1

この回答を見るhttp://stackoverflow.com/questions/26882986/overwrite-json-property-name-in-c-sharp – smoksnes

+0

@smoksnesが示唆するようにカスタムContractResolverでこれを行いました。よくそれと同時に、私はそれが本質的に何であるかという理由でそれを辞書として非直列化しようとします。 –

答えて

0

Cで動的プロパティを作成する場合は、thisを参照してください。この記事では、動的プロパティから必要なものを定義します。

+0

@ user3731783この回答が役立つ場合は、この回答をupvoteして受け入れるようにしてください。 –