.net mvc web api 返回 json 内容,过滤值为null的属性

原文:http://blog.csdn.net/xxj_jing/article/details/49508557

版权声明:本文为博主原创文章,未经博主允许不得转载。



.net mvc web api 返回 json 内容时,好多属性为null的没必要下发。

下面看下怎么过滤值为null的属性



1.响应内容(过滤前)

{"msg":"初始化成功!","code":"","success":true,data:null}



2.响应内容(过滤后)

{"msg":"初始化成功!","code":"","success":true}


[csharp] view plain copy
using System.Net.Http.Formatting;  
using System.Web.Http;  
  
namespace xxxxxxx  
{  
    public static class WebApiConfig  
    {  
        public static void Register(HttpConfiguration config)  
        {  
        ......  
  
            //默认返回 json  
            GlobalConfiguration.Configuration.Formatters  
                .JsonFormatter.MediaTypeMappings.Add(  
                new QueryStringMapping("datatype", "json", "application/json"));  
            //返回格式选择  
            GlobalConfiguration.Configuration.Formatters  
                .XmlFormatter.MediaTypeMappings.Add(  
                new QueryStringMapping("datatype", "xml", "application/xml"));  
            //json 序列化设置  
            GlobalConfiguration.Configuration.Formatters  
                .JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings()  
                {  
                    NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore //设置忽略值为 null 的属性  
                };  
        }  
    }  
}  

 

.net mvc web api 返回 json 内容时,好多属性为null的没必要下发。

下面看下怎么过滤值为null的属性

 

1.响应内容(过滤前)

{"msg":"初始化成功!","code":"","success":true,data:null}

 

2.响应内容(过滤后)

{"msg":"初始化成功!","code":"","success":true}

[csharp] view plain copy
 
  1. using System.Net.Http.Formatting;  
  2. using System.Web.Http;  
  3.   
  4. namespace xxxxxxx  
  5. {  
  6.     public static class WebApiConfig  
  7.     {  
  8.         public static void Register(HttpConfiguration config)  
  9.         {  
  10.         ......  
  11.   
  12.             //默认返回 json  
  13.             GlobalConfiguration.Configuration.Formatters  
  14.                 .JsonFormatter.MediaTypeMappings.Add(  
  15.                 new QueryStringMapping("datatype""json""application/json"));  
  16.             //返回格式选择  
  17.             GlobalConfiguration.Configuration.Formatters  
  18.                 .XmlFormatter.MediaTypeMappings.Add(  
  19.                 new QueryStringMapping("datatype""xml""application/xml"));  
  20.             //json 序列化设置  
  21.             GlobalConfiguration.Configuration.Formatters  
  22.                 .JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings()  
  23.                 {  
  24.                     NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore //设置忽略值为 null 的属性  
  25.                 };  
  26.         }  
  27.     }  
  28. }  
原文地址:https://www.cnblogs.com/shiningrise/p/5682252.html