Получение правильного формата JSON в контроллере API, но двойная обратная косая черта в JSON, где используется результат API - PullRequest
0 голосов
/ 19 мая 2018

Я новичок в программировании и специально новичок в .Net MVC (использую .net core 2).У меня есть метод контроллера, как показано ниже

 public async Task<JsonResult> GetCountriesList(string searchText)
    {

        HttpResponseMessage responseMessage;
        string responseContent = string.Empty;

        List<Country> listCountries = null;
        using (var client = getHttpClient(WebClientContentType.JSON))
        {
            responseMessage = await client.GetAsync(new Uri(string.Format("{0}{1}", _webApiUrl, "/api/Country/GetCountryList")));
            if (responseMessage.IsSuccessStatusCode)
            {
                responseContent = responseMessage.Content.ReadAsStringAsync().Result;

                listCountries =(List<Country>)JsonConvert.DeserializeObject(responseContent, typeof(List<Country>));
                if (!string.IsNullOrEmpty(searchText))
                {
                    listCountries = listCountries.Where(m => m.ShortName.ToLower().StartsWith(searchText.ToLower())).ToList();
                }
            }
            else
            {
                return Json(responseMessage.StatusCode);
            }


        }

        return Json(listCountries);
    }

Здесь, в "responseContent", я получаю дополнительные косые черты в моем JSON

Но в методе API я получаю правильно отформатированную строку JSONМой метод API

[HttpGet]
    [Route("api/Country/GetCountryList")]
    public IActionResult GetCountryList()
    {
        ProcedureReturnType mediaType = GetMediaType();

        try
        {
            CountryHelper countryHelper = new CountryHelper();
            var result = countryHelper.GetCountries(mediaType);

            return Ok(result);
        } // end try
        catch (Exception ex)
        {
            return BadRequest(ex.Message);
        } // end catch

    } // end method

В любом случае, я могу решить эту проблему, так как мне нужен список стран, которые я ожидаю получить от действующего JSON в listCountries

Например, если я напишу

 var result = "\r";

            return Ok(result);

Тогда отправляется результат "\ r", но на принимающей стороне в строке

responseContent имеет значение "\" \ r \ ""

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