Исключить свойство из сериализации json в ApiController

Я пытаюсь исключить свойства из сериализации в JSON в веб-ApiControllers. Я проверил следующие 2 сценария работы.

Я включил следующие атрибуты в свойство, которое я хочу исключить.

<code>[System.Web.Script.Serialization.ScriptIgnore]
[System.Xml.Serialization.XmlIgnore]
</code>

Если я вручную сериализую свой объект с помощью JavaScriptSerializer, свойство будет исключено. Кроме того, если я просматриваю сериализованный вывод XML из веб-ApiController, свойство исключается. Проблема в том, что сериализованный JSON через веб-интерфейс ApiController все еще содержит это свойство. Есть ли другой атрибут, который я могу использовать, который исключит свойство из сериализации JSON?

UPDATE:

Я понял, что все мои тесты были в гораздо более сложном проекте, и что я не пробовал это в изолированной среде. Я сделал это и все еще получаю те же результаты. Вот пример некоторого кода, который терпит неудачу.

<code>public class Person
{
    public string FirstName { get; set; }

    [System.Web.Script.Serialization.ScriptIgnore]
    [System.Xml.Serialization.XmlIgnore]
    public string LastName { get; set; }
}

public class PeopleController : ApiController
{
    public IEnumerable<Person> Get()
    {
        return new[]
                   {
                       new Person{FirstName = "John", LastName = "Doe"},
                       new Person{FirstName = "Jane", LastName = "Doe"}
                   };
    } 
}
</code>

Вот сгенерированный вывод.

JSON:

<code>[
    {
        "FirstName" : "John",
        "LastName" : "Doe"
    },
    {
        "FirstName" : "Jane",
        "LastName" : "Doe"
    }
]
</code>

XML:

<code><?xml version="1.0" encoding="utf-8"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Person>
        <FirstName>John</FirstName>
    </Person>
    <Person>
        <FirstName>Jane</FirstName>
    </Person>
</ArrayOfPerson>
</code>

Ответы на вопрос(5)

Ваш ответ на вопрос