我正在实现一个支持部分响应的 Web API。
/api/users?fields=id,name,age
给定类用户
[JsonObject(MemberSerialization.OptIn)]
public partial class User
{
[JsonProperty]
public int id { get; set; }
[JsonProperty]
public string firstname { get; set; }
[JsonProperty]
public string lastname { get; set; }
[JsonProperty]
public string name { get { return firstname + " " + lastname; } }
[JsonProperty]
public int age { get; set; }
}
Json 格式化程序在序列化所有属性时效果很好,但我无法在运行时修改它以告诉它忽略某些属性,具体取决于查询参数“字段”。
我正在使用 JsonMediaTypeFormatter。
我已经按照http://tostring.it/2012/07/18/customize-json-result-in-web-api/来自定义格式化程序,但我找不到任何关于如何强制格式化程序的示例忽略一些属性。