2013-01-23 8 views

Odpowiedz

106

W WebApiConfig:

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

Albo, jeśli chcesz mieć większą kontrolę, można zastąpić całą formatowania:

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

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

Dzięki stary .. zaoszczędziłeś mój czas .. –

+2

Wstyd config.Formatters.XmlFormatter nie ma tej samej właściwości ...:/ – RoboJ1M

+3

Od Json.NET 5 (nie jestem pewien poprzednich wersji), możesz także zrobić to: 'config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore' - spowoduje to zaktualizowanie obsługi wartości pustych bez resetowania jakichkolwiek innych ustawień serisowania json (np. użycie małej litery na pierwszej literze właściwości) –

3

Jeśli używasz vnext w projektach api vnext internetowych, dodać to kod do pliku 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

skończyło się z tego kawałka kodu w pliku startup.cs wykorzystaniem ASP.NET5 1.0.0-p7

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

Dla .NetCore to jest odpowiedź ... dziękuję –

0

Znam ten wątek już od kilku lat, ale jeśli wrócisz do dokumentacji JSON.NET, zawiera ona szczegółowe informacje o tym, jak rozwiązać problem zmniejszania rozmiaru seryjnego JSON dla różnych scenariuszy, takich jak ignorowanie wszystkich wartości null, ignorowanie wszystkich wartości domyślnych, ignorowanie wartości pustej lub domyślnej tylko określonych właściwości , itp .:

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

Powiązane problemy