Desidero ignorare quelle proprietà da serializzazione Json che è null. per questo ho aggiunto questa riga nel mio file webapi.config
.Ignora il valore null e il valore predefinito dal serializzatore in web api
config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
public static void Register(HttpConfiguration config)
{
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{identifier}",
defaults: new { identifier = RouteParameter.Optional }
);
config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling= DefaultValueHandling.Ignore };
}
Ma non sta ignorando quelle proprietà che è nulla.
Questa è la mia classe
public class UserProfile
{
[JsonProperty("fullname")]
public string FullName { get; set; }
[JsonProperty("imageid")]
public int ImageId { get; set; }
[JsonProperty("dob")]
public Nullable<DateTime> DOB { get; set; }
}
È JSON ritorno da API Web
{
"fullname": "Amit Kumar",
"imageid": 0,
"dob": null
}
non ho assegnato il valore di ddn e ImageID.
Seguo questo Link, ma non ha risolto il mio problema.
Vuoi ignorare ogni proprietà nullo in qualsiasi oggetto serializzare o avete bisogno di decidere in modo selettivo quale proprietà con un valore nullo da ignorare? –
@FedericoDipuma: Voglio ignorarlo in ogni oggetto, ecco perché l'ho aggiunto a livello globale. –
@MostafizurRahman: No. Questa non è una domanda duplicata. –