Возврат Json из контроллера MVC, который расширяет Apicontroller

Я пытаюсь вернуть строку Json из контроллера MVC в приложении WebAPI, но не могу использовать return Json(... потому что используемый класс расширяет ApiController, а не Controller (Я считаю).

есть ли альтернативный способ сделать то, что я пытаюсь сделать (например, вернуть другой тип)? Или обходной путь?

Это мой код контроллера:

public class SocialController : ApiController 
{
    public ActionResult Get(SocialRequest request) // or JsonResult?
    {
        JavaScriptSerializer js = new JavaScriptSerializer();
        string jsontest = js.Serialize(request); // just serializing back and forth for testing

        return Json(jsontest, JsonRequestBehavior.AllowGet);
    }
}

ошибки я получаю это система".Сеть.Прислуга.Json является типом, но используется как переменная."

Я нашел следующий связанный с этим вопрос, но он не решил его для меня, если кто-нибудь может разработать, я был бы очень признателен (и выложить очки репутации): почему функция Json () неизвестна

1 ответов


In Asp.net веб-Api у вас больше нет ActionResults. Вы просто возвращаете объект, который вам нужен. Платформа преобразует объект в правильный ответ (json, xml или другие типы)

[HttpGet]
public IEnumerable<string> GetUsers(SocialRequest request)
{
    return _applicationsService.GetUserss(request);
}