我有一个相当简单的控制器。我的错误是'application / xml',不像重定向到我的问题是'application / json'。
public class ProductController : ApiController
{
private IProductService productservice = new ProductServices();
public List<Employee> Get()
{
return productservice.GetProducts();
}
}
}
但我仍然收到以下错误。
'ObjectContent`1'类型无法序列化内容类型'application / xml的响应主体;字符集= UTF-8' 。
我尝试过以下无法解决的问题。
在WebApiConfig.cs
中添加了此内容var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
config.Formatters.Remove(config.Formatters.XmlFormatter);
在Global.asax.cs中添加此内容
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
答案 0 :(得分:0)
var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter);
然后粘贴下一个代码:
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
并放弃对Global.asax.cs的更改