【发布时间】:2016-08-27 15:29:36
【问题描述】:
我目前正在使用 JSON.NET 开发 ASP.NET WebAPI。 我希望减少流量并希望忽略我的模型的某些属性以进行序列化,即我不想在我的 JSON 响应中返回它们,但我想在它们传递到我的端点时接受它们。
示例类
public class User {
public int Id { get; set; }
public string Name { get; set; }
public string Role { get; set; }
}
用例
- 我有一个将用户模型作为参数的 POST 端点。该请求包含名称和角色。这些道具应该被解析成我的用户。
- 我有一个返回用户的 GET 端点。我只希望响应包含 ID 和名称。角色应该被忽略。
问题
当我使用 JSON.NET 中的 JsonIgnore 属性时,该属性会被完全忽略。它没有为我的响应序列化,但是当我将 JSON 用户发布到我的端点时,我的用户的属性为空。
有没有办法只为了序列化而忽略一个道具?
提前谢谢你!
【问题讨论】:
-
我相信你可能不得不分离你的输入/输出模型
-
我想过,但如果可能的话,想避免它。
标签: c# json serialization asp.net-web-api json.net