Hej,我有一个web-api控制器(用c#编写),根据请求返回xml或json(根据需要)。现在我要求返回的对象中的属性名称不同,这取决于它是返回的Json还是Xml。这可能吗?
例如,方法“GetAddress”返回“地址”对象,其中包含“StreetName”,“HouseNumber”,“ZipCode”等属性...
现在我希望Json的属性名称像“Street”(根本没有“Name”),Xml像“street_name”,以及其他属性的类似差异。
谢谢, 彼得
答案 0 :(得分:3)
发现我可以在我的属性上使用2个属性:一个用于为Json命名,另一个用于为Xml命名。例如:
[DataMember(Name = "street_name")]
[JsonProperty(PropertyName = "Street")]
public string StreetName{ get; set; }
(以及类本身的[DataContract]属性)。