2013-01-23 22 views

Trả lời

106

Trong WebApiConfig:

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

Hoặc, nếu bạn muốn kiểm soát nhiều hơn, bạn có thể thay thế toàn bộ định dạng:

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

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

Cảm ơn bạn .. u đã lưu thời gian của tôi .. –

+2

Cấu hình xấu hổ.Formatters.XmlFormatter không có cùng Thuộc tính ...:/ – RoboJ1M

+3

Vì Json.NET 5 (không chắc chắn cho các phiên bản trước), bạn cũng có thể làm này: 'config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore' - điều này sẽ cập nhật việc xử lý giá trị null mà không cần thiết lập lại bất kỳ cài đặt tuần tự json nào khác (như sử dụng chữ thường trên chữ cái đầu tiên của thuộc tính) –

3

Nếu bạn đang sử dụng vNext, trong các dự án api vNext web, thêm này để tập tin 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

tôi đã kết thúc với đoạn mã này trong file startup.cs sử dụng ASP.NET5 1.0.0-beta7

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

Đối với. NetCore đây là câu trả lời ... cảm ơn –

0

Tôi biết chủ đề này đã được khoảng một vài năm nay, nhưng nếu bạn quay lại tài liệu JSON.NET, nó có các chi tiết về cách giải quyết vấn đề giảm kích thước JSON được tuần tự hóa cho các kịch bản khác nhau, như bỏ qua tất cả null, bỏ qua tất cả các giá trị mặc định, bỏ qua giá trị null hoặc mặc định của các thuộc tính cụ thể , v.v.

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

Các vấn đề liên quan