Десериализация JSON в класс на языке C#
Если моя строка (json) содержит только следующую часть, я могу десериализовать ее с помощью библиотеки newtonsoft.
{"Код": "MXXXXX", "статус": "сбой"}
Код для десериализации:
счет открытый класс
{
открытый строковый код{ get; set; }
public string Status{ get; set; }
}
Account account = JsonConvert.DeserializeObject(в формате JSON);
Приставка.WriteLine (счет.Код);
Но если моя струна такая:
{'data': '{"Code": "MXXXXX", "Status": "failed"}'}
Я не могу десериализоваться. Здесь класс имеет только одно свойство-данные... как я могу это сделать?
Что я уже пробовал:
Code to deserialize: public class Account { public string Code{ get; set; } public string Status{ get; set; } } Account account = JsonConvert.DeserializeObject(json); Console.WriteLine(account.Code);
lw@zi
Это не выглядит правильным JSON (не синтаксически). "данные" в вашем JSON будут десериализованы как строка из-за дополнительных кавычек вокруг нужных данных.
F-ES Sitecore
Вам нужен класс со свойством " data "типа" Account", и вы десериализуетесь в этот класс. Возможно, Вам также потребуется обновить исходную строку до
{'data': {"Code": "MXXXXX", "Status": "failed"}}
Примечание Я удалил некоторые апострофы