Я работаю над проектом ASP.NET MVC. Когда я пытаюсь получить данные из API с помощью мобильного клиента, я получаю эту ошибку:
System.Runtime.Serialization.SerializationException: неверная строка JSON
API работает - я тестировал его с помощью браузера. Эта ошибка возникает при десериализации json.
Вот мой метод вызова API
public string GetAgreementText(long idCompany)
{
string agreementText = "";
_tokenService.RenewToken(_deviceId);
// var token = _tokenService.GetLastActivateToken().Hash;
var clientURL = CrossSettings.Current.GetValueOrDefault("API_ENDPOINT", "");
var client = new RestClient(clientURL);
var request = new RestRequest("GetAgreementText/{id}", Method.GET);
// request.AddHeader("Authorization", $"Bearer {token}");
// request.AddHeader("Content-type", "application/x-www-form-urlencoded");
request.AddUrlSegment("Id", idCompany.ToString());
IRestResponse response = client.Execute(request);
AppRestResponse apiResponse = SimpleJson.DeserializeObject<AppRestResponse>(response.Content);
var statusMessage = "";
if (apiResponse.Success)
{
statusMessage = "Success.";
if (!string.IsNullOrEmpty(response.Content))
{
agreementText = SimpleJson.DeserializeObject<string>(response.Content);
}
else
{
throw new Exception("Invalid response");
}
}
else
{
agreementText = "Error retrieving agreement text";
}
return agreementText;
}
Метод API
[HttpGet]
[Route("GetAgreementText/{id}")]
public DefaultApiResult GetAgreementText(long Id)
{
Company com = _companyRepository.Get(Id);
string st = com.AgreementText;
DefaultApiResult result = new DefaultApiResult
{
Data = st
};
return result;
}