跳过mvc json结果中的属性
本文关键字:属性 结果 mvc json 跳过 | 更新日期: 2023-09-27 18:05:42
如何通过控制器的方法将对象转换为json时跳过某些属性?
public JsonResult GetPerson(int PersonId)
{
Person thisPerson = Person.GetById(PersonId);
return Json(thisPerson); //Please strip SecretAlterEgoName from your results please!
}
class Person
{
int PersonId { get; set; }
string Name { get; set; }
string SecretAlterEgoName { get; set; } //Must not send this! No on must know!
}
我想避免这个:{"PersonId":3,"名字":"彼得·帕克"、"SecretAlterEgoName":"蜘蛛侠"}
显示如下:{"PersonId":3,"名字":"彼得·帕克"}
我希望避免使用StringBuilder来生成我的json字符串,并避免创建一个具有较少属性的新对象来传输。
我相当肯定——但现在无法测试——您可以从匿名类型生成JSON,并且在创建类型时只包含您感兴趣的字段:
public JsonResult GetPerson(int PersonId)
{
Person thisPerson = Person.GetById(PersonId);
return Json(new { thisPerson.PersonId, thisPerson.Name });
}