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格式化程序以保留对象引用,但它需要更多工作