筛选序列化类属性以减少 WebAPI 有效负载



一个使用 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; }
.
.
.
}

相关内容

  • 没有找到相关文章

最新更新