管理从 Web API 以 JSON 形式返回的属性名称

本文关键字:返回 属性 Web API JSON 管理 | 更新日期: 2023-09-27 18:35:20

我目前正在使用 ASP.NET web api,其中我返回了一个模型对象,如下所示:

具有特性的产品:Name, Id, Description, etc.....

当它转换为 JSON 对象时,它会使用上面的属性名称输出它。

为了减少从 web api 操作返回的有效负载,我有什么方法可以更改 JSON 对象中的属性,例如Desc for Description.我可以更改模型对象,但属性名称将没有意义!

管理从 Web API 以 JSON 形式返回的属性名称

执行此操作的简单方法是通过数据协定。 这是一篇文章,但基本上,它涉及模型上的两个注释。 它还允许您忽略任何不想序列化的内容。

[DataContract]
public class Foo {  //Your model class
   [DataMember(Name="bar-none")]  //This also allows you to use chars like '-'
   public string bar {get; set;}
   [IgnoreDataMember]  //Don't serialize this one
   public List<string> fuzz { get; set;}
}

您还可以考虑在 asp.net 端使用 http://automapper.org/将整个对象映射到更轻量级的对象。对于一两个小对象来说可能有点矫枉过正,但如果你有一堆可以做到这一点可以节省一些时间(免费和开源启动)。