一个使用 WebAPI 的 C# ASP.NET Webform 站点
我有一个 petapoco 类,上面有 50 个属性,但对于某些 WebAPI 方法,我想过滤哪些属性被序列化并在 HttpResponseMessage 中发送到客户端(以减少有效负载)。
例如,假设我在类中具有以下类属性:
ID, FirstName, LastName, Address, City, State, Zip, DOB
我需要一些 WebApi 方法来序列化每个属性,但也许我只想返回另一个方法
ID, FirstName, LastName
有没有内置的方法来处理这个问题?如果没有,构建一些东西来处理这个问题的最佳方法是什么?
编辑:我正在寻找一种无需修改类即可执行此操作的方法
您应该能够为每个属性创建 ShouldSerialize 方法。
XML 序列化 - 隐藏空值
使您能够动态决定序列化哪些字段。不要担心链接说XML,也应该适用于JSON序列化。
使用 JsonIgnoreAttribute 从序列化中排除属性。
例如,在模型中.cs:
public class Account
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonIgnore]
public string Address { get; set; }
[JsonIgnore]
public string City { get; set; }
[JsonIgnore]
public string State { get; set; }
.
.
.
}