Я новичок в программировании и специально новичок в .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 \ ""