C# 动态JsonProperty
下面是从服务接收到的json响应的摘录C# 动态JsonProperty,c#,asp.net-mvc,json.net,C#,Asp.net Mvc,Json.net,下面是从服务接收到的json响应的摘录 aggregations: { gender: { ...other data } } 服务每次都将返回相同的结构,但根据某些参数使用不同的聚合类型。所以“性别”这个词可以是“年龄”或“城市”或其他任何东西。我正在寻找一种方法来创建一个.Net对象,这是可能的,它具有一个动态属性名,这样我就不需要为每个聚合使用单独的对象。大概是这样的: public class Aggregation { [JsonP
aggregations: {
gender: {
...other data
}
}
服务每次都将返回相同的结构,但根据某些参数使用不同的聚合类型。所以“性别”这个词可以是“年龄”或“城市”或其他任何东西。我正在寻找一种方法来创建一个.Net对象,这是可能的,它具有一个动态属性名,这样我就不需要为每个聚合使用单独的对象。大概是这样的:
public class Aggregation {
[JsonProperty(PropertyName = "<dynamic value based on json response>")]
public List<string> AggregationValues { get; set; }
}
公共类聚合{
[JsonProperty(PropertyName=”“)]
公共列表聚合值{get;set;}
}
有没有其他方法可以做到这一点?感谢您的帮助。有关在c中创建动态属性的信息,请参阅。本文定义了我们需要从动态属性中获得什么。有关在c#中创建动态属性的信息,请参阅。这篇文章定义了我们需要从动态属性中得到什么。看看这个答案,正如@smoksnes所建议的,我已经用CustomContractResolver完成了这项工作,它工作得非常好。同时,我会尝试将其反序列化为Dictionary,因为这就是它的本质。看看这个答案,正如@smoksnes所建议的,我已经使用CustomContractResolver完成了这项工作,并且它工作得非常好。同时,我会尝试将它反序列化为字典,因为它本质上就是这样。