Пропустить свойства в mvc json result - PullRequest
0 голосов
/ 13 августа 2011

Как мне пропустить определенные свойства при преобразовании моего объекта в 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, "Name": "Peter Parker", "SecretAlterEgoName": "Spiderman"}

и показать это: {"PersonId": 3, "Name": "Peter Parker"}

Я надеялся избежать необходимости использовать StringBuilder для генерации моей строки json и избежать создания нового объекта с меньшим количеством свойств для передачи в,

1 Ответ

4 голосов
/ 13 августа 2011

Я вполне уверен - но сейчас не могу проверить - что вы можете сгенерировать JSON из анонимного типа и включать интересующие вас поля только при создании типа:

public JsonResult GetPerson(int PersonId)
{
    Person thisPerson = Person.GetById(PersonId);
    return Json(new { thisPerson.PersonId, thisPerson.Name });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...