Exclut les biens de la sérialisation json dans ApiController

Je suis en train d'exclure les propriétés d'être sérialisé en JSON web ApiControllers. J'ai vérifié les 2 scénarios de travail.

J'ai inclus les attributs suivants sur le bien que je souhaite à exclure.

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

Si j'manuellement sérialiser mon objet à l'aide de la JavaScriptSerializer, la propriété est exclue. Aussi, si j'ai vue le sérialisé en XML de sortie à partir du web ApiController, la propriété est exclue. Le problème est, la sérialisé JSON via le web ApiController contient toujours la propriété. Est-il un autre attribut que je peux utiliser, qui excluent la propriété de la sérialisation JSON?

Mise à JOUR:

J'ai réalisé tous mes tests ont été beaucoup plus complexe projet et que je n'avais pas essayé ceci dans un environnement isolé. Je l'ai fait et je suis toujours à obtenir les mêmes résultats. Voici un exemple de code qui est en cause.

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"}
                   };
    } 
}

Ici est la sortie générée.

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>
double possible de Ignorer les propriétés lors de la sérialisation
Je ne vois pas cela comme un double de l'puisque je ne peux pas utiliser IgnoreDataMember parce que mon objet et toutes ses propriétés doivent encore être sérialisé pour WCF communication derrière les coulisses. Je suppose que la racine de ma question est qu'est-ce que ASP.NET à l'aide de sérialiser en JSON? Il ne semble pas qu'ils sont à l'aide de la JavaScriptSerializer.
ah, a obtenu vous. Je corrige la position des mains.
Découvrez celui-ci: la réponse semble être que le Modèle de Classeur t-il, et vous avez besoin pour mettre en œuvre votre propre modèle de classeur: stackoverflow.com/questions/7330555/....
Ok, encore un essai... découvrez ce type de solution: stackoverflow.com/questions/1302946/...

OriginalL'auteur Adam Carr | 2012-05-07