Не удалось привести или преобразовать System.String в объект класса.C#

Место общения программистов C#
Ответить
Anonymous
 Не удалось привести или преобразовать System.String в объект класса.

Сообщение Anonymous »

Я пытаюсь десериализовать строку JSON, полученную от веб-API

Код: Выделить всё

try
{
string r = await App.client.GetUser();

App.Authentication = JsonConvert.DeserializeObject(r);

await DisplayAlert("TEST", App.Authentication.ToString(), "OK");

Application.Current.MainPage = new Schedule();
}
catch (Exception p)
{
await DisplayAlert("Getting Authentication failed", p.ToString(), "TEST");
}
Однако выдает ошибку: не удалось привести или преобразовать System.String в App1.ApiResult

Код: Выделить всё

App.Authentication = JsonConvert.DeserializeObject(r);
App.Authentication:

Код: Выделить всё

public static ApiResult Authentication = new ApiResult();`
Строка JSON:


"\"{\\"status\\ ":\\"0\\",\\"сообщение\\":{\\"ID\\":5,\\"Имя\\":\\"Джон\\",\\"Фамилия\ \":\\"Доу\\",\\"Электронная почта\\":\\"testemail@gmail.com\\",\\"Пароль\\":\\"testPass\\",\\" CreationDate\\":\\"2016-10-26T15:01:08\\",\\"RoleID\\":1,\\"doorCode\\":9999}}\""

Класс ApiResult:

Код: Выделить всё

public class ApiResult
{
public string status { get; set; }
public Account message { get; set; }
}
Класс учетной записи:

Код: Выделить всё

public class Account
{
public string status { get; set; }
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public DateTime CreationDate { get; set; }
public int RoleID { get; set; }
public int doorCode { get; set; }
}
Полное сообщение об ошибке:


{"Ошибка преобразования значения
\"{\"статус\":\"0\",\"сообщение\":{\"ID\":5, \"Имя\":\"Джон\",\"Фамилия\":\ «Доу», «Электронная почта»: «testemail@gmail.com», «Пароль»: «testPass», «Дата создания»: «2016-10-26T15:01:08 \",\"RoleID\":1,\"doorCode\":9999}}\"
введите 'App1.ApiResult' Path '', строка 1, позиция 232."


Подробнее здесь: https://stackoverflow.com/questions/408 ... ass-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»