2012-11-20 12 views
8

Tworzę usługę HTTP przy użyciu technologii .Net Web API, utworzyłem klasy DTO i gdy potrzebny jest tylko określony podzbiór danych Planuję tylko wypełniać DTO z tymi danymi, aby zminimalizować ilość przesyłanych danych.Serializacja JSON - usuwanie pustych klawiszy

Czy istnieje sposób na uzyskanie seriali JSON, aby zignorować te elementy danych, które są puste? Zdaję sobie sprawę, że istnieją atrybuty [JsonIgnore] i [ScriptIgnore], które zignorują konkretnych członków, ale chcę je zignorować tylko wtedy, gdy są puste lub puste.

[Edytuj]

Dzięki LB poniżej

dodałem następujące czynności, aby włączyć tę WebApiConfig.cs w Web API:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter; 
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; 

Odpowiedz

14

Json.Net ma ustawienie tej

var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); 
+0

Awesome; Dziękuję Ci. Zmieniłem moje pytanie, aby pokazać, co zrobiłem w Web API. – Dale

Powiązane problemy