asp.net-web-api – 有没有办法在ASP.Net Web API中别名响应模型属性

前端之家收集整理的这篇文章主要介绍了asp.net-web-api – 有没有办法在ASP.Net Web API中别名响应模型属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果要使用JSON样式的小写名称从Web Api中的操作方法返回对象,是否有一种方法来将属性名称进行别名,以便下面的C#对象如下所示。

C#响应模型

  1. public class Account
  2. {
  3. public int Id { get; set; }
  4. public string AccountName { get; set; }
  5. public decimal AccountBalance { get; set; }
  6.  
  7. }

我想要返回的JSON

  1. {
  2. "id" : 12,"account-name" : "Primary Checking","account-balance" : 1000
  3. }

解决方法

您可以使用JSON.NET的JsonProperty
  1. public class Account
  2. {
  3. [JsonProperty(PropertyName="id")]
  4. public int Id { get; set; }
  5. [JsonProperty(PropertyName="account-name")]
  6. public string AccountName { get; set; }
  7. [JsonProperty(PropertyName="account-balance")]
  8. public decimal AccountBalance { get; set; }
  9. }

这只适用于JSON.NET – 显然。如果你想要更不可知,并且有这种类型的命名能够使其他潜在的格式化程序(即你将JSON.NET更改为别的东西,或者将XML序列化),请参考System.Runtime.Serialization并使用:

  1. [DataContract]
  2. public class Account
  3. {
  4. [DataMember(Name="id")]
  5. public int Id { get; set; }
  6. [DataMember(Name="account-name")]
  7. public string AccountName { get; set; }
  8. [DataMember(Name="account-balance")]
  9. public decimal AccountBalance { get; set; }
  10. }

猜你在找的asp.Net相关文章