1. 程式人生 > >.net mvc web api 返回 json 內容,過濾值為null的屬性

.net mvc web api 返回 json 內容,過濾值為null的屬性

.net mvc web api 返回 json 內容時,好多屬性為null的沒必要下發。

下面看下怎麼過濾值為null的屬性

1.響應內容(過濾前)

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

2.響應內容(過濾後)

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

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 的屬性
                };
        }
    }
}