Exclude-Eigenschaft von json-Serialisierung in ApiController

Ich versuche ausschließen Eigenschaften von Wesen zu JSON serialisiert im web ApiControllers. Ich habe überprüft die folgenden 2 Szenarien arbeiten.

Beigefügt habe ich die folgenden Attribute, die auf die Eigenschaft, die ich ausschließen wollen.

[System.Web.Script.Serialization.ScriptIgnore]
[System.Xml.Serialization.XmlIgnore]

Wenn ich manuell serialisieren mein Objekt mithilfe der JavaScriptSerializer, das Eigentum ist ausgeschlossen. Auch, wenn ich die serialisierte XML-Ausgabe aus dem web ApiController, das Eigentum ist ausgeschlossen. Das problem ist, das serialisierte JSON über das web ApiController noch die Eigenschaft enthält. Gibt es ein weiteres Attribut, das ich verwenden kann, schließt die Eigenschaft von JSON-Serialisierung?

UPDATE:

Erkannte ich, alle meine Prüfungen wurden in einer viel komplexeren Projekt und, dass ich es noch nicht versucht, diese in einer isolierten Umgebung. Ich Tat dies und bin noch immer die gleichen Ergebnisse. Hier ist ein Beispiel von einigen fehlerhaften 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"}
                   };
    } 
}

Hier ist die generierte Ausgabe.

JSON:

[
    {
        "FirstName" : "John",
        "LastName" : "Doe"
    },
    {
        "FirstName" : "Jane",
        "LastName" : "Doe"
    }
]

XML:

<?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>
mögliche Duplikate von das Ignorieren von Eigenschaften beim serialisieren
Ich sehe das nicht als ein Duplikat, dass ich da nicht verwenden können, IgnoreDataMember, weil mein Objekt und alle seine Eigenschaften noch serialisiert werden müssen, für die WCF-Kommunikation hinter den kulissen. Ich denke, der Grund für meine Frage ist, was ist ASP.NET mit serialisieren zu JSON? Es scheint nicht, Sie sind mithilfe der JavaScriptSerializer.
ah, hab Sie. Ich stehe korrigiert.
Check out this one: die Antwort scheint zu sein, dass der Binder Modell tut es, und Sie brauchen, um Ihre eigene Modell-binder: stackoverflow.com/questions/7330555/....
Ok, noch ein Versuch... check out this guy ' s Lösung: stackoverflow.com/questions/1302946/...

InformationsquelleAutor Adam Carr | 2012-05-07

Schreibe einen Kommentar