我目前正在使用ASP.NET web api,我从REST操作返回一个Model对象:
具有属性的产品:Name, Id, Description, etc.....
当它转换为JSON
对象时,它会输出上面的属性名称。
要减少从web api操作返回的有效负载,我有什么方法可以更改JSON对象中的属性,例如Desc
Description
。我可以更改Model对象,但属性名称没有意义!
答案 0 :(得分:25)
这样做的简单方法是通过数据合同。 Here is an article,但基本上,它涉及模型上的两个注释。它还允许您忽略任何不想序列化的内容。
[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;}
}
答案 1 :(得分:1)
您还可以考虑在asp.net端使用http://automapper.org/将您的完整对象映射到更轻量级的对象。对于一个或两个小物件可能有点过分,但如果你有一堆可以做到这一点可以节省你一些时间(免费和开源启动)。