如何将某些公共属性排除在序列化为JsonResult之外?

Adr*_*ore 8 asp.net-mvc serialization json

我有一个使用JsonResult序列化的自定义viewmodel.ViewModel具有一些必须公开的属性,但同时这些属性在生成的Json输出中不可见.

我已经尝试过使用[NonSerialized]属性,但这似乎没有任何效果.

有没有简单的方法来做到这一点?或者我必须编写自己的结果类型(在这种情况下,我可能不会打扰)?

Jac*_*obE 26

您可以[ScriptIgnore]在不应序列化的成员上放置属性.有关示例,请参阅MSDN中的ScriptIgnoreAttribute类.

  • 对于其他人来说,该属性的完整命名空间是[System.Web.Script.Serialization.ScriptIgnore] (8认同)