Schließen Sie die Eigenschaft von der JSON-Serialisierung in ApiController aus

Ich versuche, Eigenschaften von der Serialisierung nach JSON in Web-ApiControllern auszuschließen. Ich habe überprüft, dass die folgenden 2 Szenarien funktionieren.

Ich habe die folgenden Attribute in die Eigenschaft aufgenommen, die ich ausschließen möchte.

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

Wenn ich mein Objekt mit dem JavaScriptSerializer manuell serialisiere, wird die Eigenschaft ausgeschlossen. Wenn ich die serialisierte XML-Ausgabe vom Web-ApiController ansehe, wird die Eigenschaft ebenfalls ausgeschlossen. Das Problem ist, dass das serialisierte JSON über den Web-ApiController immer noch die Eigenschaft enthält. Gibt es ein anderes Attribut, mit dem ich die Eigenschaft von der JSON-Serialisierung ausschließen kann?

AKTUALISIEREN:

Ich stellte fest, dass alle meine Tests in einem viel komplexeren Projekt durchgeführt wurden und dass ich dies nicht in einer isolierten Umgebung ausprobiert hatte. Ich habe das getan und erhalte immer noch die gleichen Ergebnisse. Hier ist ein Beispiel für einen fehlerhaften Code.

<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>

Hier ist die generierte Ausgabe.

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>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage