跳过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字符串,并避免创建一个具有较少属性的新对象来传输。

跳过mvc json结果中的属性

我相当肯定——但现在无法测试——您可以从匿名类型生成JSON,并且在创建类型时只包含您感兴趣的字段:

public JsonResult GetPerson(int PersonId)
{
    Person thisPerson = Person.GetById(PersonId);
    return Json(new { thisPerson.PersonId, thisPerson.Name });
}