Как вернуть Json из .Net Core Web API? - PullRequest
0 голосов
/ 20 ноября 2018

Это основной вопрос. Я новичок в ASP.Net Core, поэтому я создал проект .Net Core Web API с использованием шаблона в Visual Studio 2017, и я хотел бы знать, как вернуть строку Json из функции Get ().

Предоставлена ​​функция Get ().

    [HttpGet]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

Я хотел бы знать, как изменить, чтобы он возвращал строку JSON с переменной int, как показано ниже.

    // GET: api/MOER
    [HttpGet]
    public <<some return type>> Get()
    {
        _MOER = 32;

        return <<return a Json result/string of _MOER>>;
    }

Я видел пакет Nuget Newtonsoft.Json, где вы сериализуете / десериализуете, но я не уверен, применимо ли оно больше к .Net Core.

Я также видел примеры, когда они используют JsonResult, но когда я пытаюсь использовать этот подход, компилятор не знает, что такое Json ().

    [HttpGet]
    public JsonResult Get()
    {
        _MOER = 32;

        return Json(_MOER);
    }

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 20 ноября 2018

Добавьте этот атрибут в ваш класс контроллера:

[Produces("application/json")]

Таким образом, он становится:

[Produces("application/json")]
public class YourController: Controller {

   [HttpGet]
   public IEnumerable<string> Get()
   {
       return new string[] { "value1", "value2" };
   }
}

Этого должно быть достаточно, в противном случае я считаю, что по умолчанию используется XML (если клиент явнозапрашивает JSON с использованием HTTP-заголовка Accept).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...