APS.Net Web API HTTP求情響應JSON資料配置
阿新 • • 發佈:2018-12-17
1、由於專案的需要並且剛開始接觸C#時間不長,微軟的很多東西都不太清楚,今天在開始建立API專案的時候遇到了這樣的情況,我們在請求的HTTP的時候需要返回的資料是JSON格式的,但是在建立專案的時候預設返回的是XML的格式,所以我們需要轉換下,把物件資料序列化:
在配置HTTP路由中我們可以做這樣設定,即當HTTP請求資料的時候他就會以全域性的形式返回JSON格式的資料:
public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 配置和服務 // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter); } }
var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter);
此程式碼設定JSON格式化程式以保留物件引用,並完全從管道中刪除XML格式化程式。(您可以配置XML格式化程式以保留物件引用,但它需要更多工作