J'ai créé un serveur Web basé sur OWIN/Katana. À l'heure actuelle, j'ai des problèmes sur la compréhension du processus de désérialisation JSON ...Modifier le processus de désérialisation de l'API Web ASP.NET
C'est simple POST-Méthode:
public IHttpActionResult Post([FromBody] Person person) {
// do some stuff
return Ok();
}
Maintenant la question: Pourquoi tous accesseurs du modèle appelé par défaut, même s'il sont attribués comme "JsonIgnore" ou pas "DataMember".
Modèle:
[DataContract]
public class Person
{
private string firstName;
//This property-getter should not be called
public string FirstName{
get {
return firstName;
}
set {
firstName = value;
}
}
//This property-getter should be called
[DataMember]
public string LastName { get;set; }
}
Est-il possible de changer ce processus?
Si vous décorer la propriété FirstName avec l'attribut JsonIgnore - getter ne sera pas appelé pendant la sérialisation/désérialisation. –
Getter est toujours appelé, également avec l'attribut JsonIgnore – cproduct