Ошибка неверной строки JSON при десериализации json - PullRequest
0 голосов
/ 05 сентября 2018

Я работаю над проектом 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;
        }
...