Asp.net mvc 实体框架输出XML而不是JSON

Asp.net mvc 实体框架输出XML而不是JSON,asp.net-mvc,json,entity-framework,xml-serialization,xmlserializer,Asp.net Mvc,Json,Entity Framework,Xml Serialization,Xmlserializer,在我的控制器类中,我有很多方法可以输出格式正确的JSON数据。它们都执行数据库查询。 例如 不幸的是,它仍在输出XML <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">[ "Property1", "Property2", ]</string> [ “财产1”, “物业2”, ] 如何确保从控制器中检索JSON对象?我在web api中也遇到了同样的问题。解决方案是,您必须

在我的控制器类中,我有很多方法可以输出格式正确的JSON数据。它们都执行数据库查询。 例如

不幸的是,它仍在输出XML

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">[
  "Property1",
  "Property2",
]</string>
[
“财产1”,
“物业2”,
]

如何确保从控制器中检索JSON对象?

我在web api中也遇到了同样的问题。解决方案是,您必须从WebApiConfig中删除XmlFormatter

 public static class WebApiConfig
 {
  public static void Register(HttpConfiguration config)
  {
     config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

       var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.
      FirstOrDefault(t => t.MediaType ==      "application/xml");
    config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
 }
}

您正在使用web api吗?您能否显示实际请求的代码。您是否总是想返回json?@Explicat-请检查我的答案。
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <string>Property1</string>
    <string>Property2</string>
</ArrayOfstring>
public string GetProperties()
{
    var results = typeof(ComplexInfo)
        .GetProperties(BindingFlags.Public | BindingFlags.Instance)
        .Select(p => p.Name).ToList();
    return JsonConvert.SerializeObject(results, Formatting.Indented,
        new JsonSerializerSettings {
            PreserveReferencesHandling = PreserveReferencesHandling.Objects
        });
}
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">[
  "Property1",
  "Property2",
]</string>
 public static class WebApiConfig
 {
  public static void Register(HttpConfiguration config)
  {
     config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

       var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.
      FirstOrDefault(t => t.MediaType ==      "application/xml");
    config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
 }
}