Pessoal, recentemente encontrei um problema no qual eu resolvi de forma muito simples.

Ao implementar uma WebApi em MVC 4 , a mesma por padrão estava retornando o objeto em XML e eu queria que a mesma retornasse em JSON direto no navegador, mas sem a utilização de Jquery ou JavaScript.

Para isto, apenas adicionei um simples comando na classe WebApiConfig que geralmente fica na pasta App_Start de um projeto.

Veja como ficou :


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);
    }
}

Se você fizer isso no WebApiConfig você terá JSON por padrão, mas ainda lhe permitirá retornar XML se você passar text / xml como o pedido cabeçalho do método ou controller.

Espero que esta dica tenha ajudado! 🙂