2013-01-23 12 views

risposta

106

Nella WebApiConfig:

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

Oppure, se si desidera un maggiore controllo, è possibile sostituire tutto il formattatore:

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

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

Grazie amico .. hai salvato il mio tempo .. –

+2

Shame config.Formatters.XmlFormatter non ha la stessa proprietà ...:/ – RoboJ1M

+3

Da Json.NET 5 (non sono sicuro per le versioni precedenti), puoi anche fare this: 'config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore' - questo aggiornerà la gestione del valore nullo senza reimpostare altre impostazioni di serializzazione di JSON (come l'utilizzo di lettere minuscole sulla prima lettera di proprietà) –

3

Se si utilizza vNext, in progetti di api vNext web, aggiungere questo codice al file startup.cs.

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

ho finito con questo pezzo di codice nel file startup.cs utilizzando ASP.NET5 1.0.0-beta7

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

Per. NetCore questa è la risposta ... grazie –

0

So che questo thread è stato intorno a un paio di anni, ma se si ritorna alla documentazione JSON.NET, ha dettagli su come affrontare il problema della riduzione della dimensione JSON serializzata per diversi scenari, come ignorare tutto il null, ignorando tutti i valori predefiniti, ignorando il valore nullo o predefinito di proprietà specifiche , ecc .:

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

Problemi correlati