2013-01-23 5 views

Antwort

106

Im WebApiConfig:

config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}; 

Oder, wenn Sie mehr Kontrolle wünschen, können Sie ganze Formatierer ersetzen:

var jsonformatter = new JsonMediaTypeFormatter 
          { 
           SerializerSettings = 
            { 
             NullValueHandling = NullValueHandling.Ignore 
            } 
          }; 

    config.Formatters.RemoveAt(0); 
    config.Formatters.Insert(0, jsonformatter); 
+1

Danke Kumpel .. du hast meine Zeit gerettet .. –

+2

Schade config.Formatters.XmlFormatter hat nicht die gleiche Eigenschaft ...:/ – RoboJ1M

+3

Seit Json.NET 5 (nicht sicher für frühere Versionen), können Sie auch tun this: 'config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore' - dies aktualisiert die Nullwertbehandlung, ohne irgendwelche anderen json-Serialisierungseinstellungen zurückzusetzen (wie Kleinbuchstaben beim ersten Buchstaben der Eigenschaften) –

3

Wenn Sie vNext verwenden, in vNext Web api Projekte, fügen Sie diese Code zu startup.cs-Datei.

public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddMvc().Configure<MvcOptions>(options => 
     { 
      int position = options.OutputFormatters.FindIndex(f => f.Instance is JsonOutputFormatter); 

      var settings = new JsonSerializerSettings() 
      { 
       NullValueHandling = NullValueHandling.Ignore 
      }; 

      var formatter = new JsonOutputFormatter(); 
      formatter.SerializerSettings = settings; 

      options.OutputFormatters.Insert(position, formatter); 
     }); 

    } 
18

endete ich mit diesem Stück Code in der Datei mit startup.cs ASP.NET5 1.0.0-beta7

services.AddMvc().AddJsonOptions(options => 
{ 
    options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; 
}); 
+0

Für .NetCore ist dies die Antwort ... danke –

0

Ich weiß, dass dieses Thema jetzt um ein paar Jahre gewesen, Wenn Sie jedoch zurück zur JSON.NET-Dokumentation gehen, finden Sie Details zum Reduzieren der serialisierten JSON-Größe für verschiedene Szenarien, z. B. das Ignorieren aller Nullwerte, das Ignorieren aller Standardwerte, das Ignorieren von Null oder der Standardwert nur bestimmter Eigenschaften usw .:

http://www.newtonsoft.com/json/help/html/reducingserializedjsonsize.htm