2011-03-08 49 views

回答

6

它看起来像ScriptIgnoreAttribute会做你想做的。只是装饰你不希望序列化的任何财产。

+0

完美!谢谢。 – dkarzon 2011-03-08 04:17:14

1

使用该匿名方法:

所以不是

return Json(it); 

return Json(new { 
    it.Name, 
    CreatedAt = it.CreatedAt.ToString("D") 
    // And so on... 
}); 

这种方式设置的属性,以确保只有网络时,您明确发布(图)允许的属性可以从JSON访问。

如果您不想重复自己,您可以使用JSON.NET序列化程序,您可以使用它来自定义对象序列化的方式。 (所以你可以创建自定义HideAttribute并考虑到这一点)。 使用JSON.NET,您还需要编写Controller.Json方法替换(SmartJson左右)。但它不应该是我想的问题。

+0

嗯,这就是我害怕的。希望我可以添加一个属性,并且Json函数可以做到这一点,如 [HideJson] public string Password {get;组; } – dkarzon 2011-03-08 02:21:10

+0

你实际上可以做一点努力。使用JSON.NET - 更新答案。 – 2011-03-08 04:12:17