Я пытаюсь преобразовать следующий json в объект домена.Как десериализовать строку json для объекта домена?
JSON:
[{"name":"McDonalds","deals":[{"desc":"Onion Rings free with Double Cheese burgers"}],"geometry":{"lat":13.073412,"lng":80.221393}},{"name":"JusSportz","deals":[{"desc":"20% off on Wilson Rackets"}],"geometry":{"lat":13.073231,"lng":80.221181}}]
Модель:
[DataContract]
public class Deal
{
[DataMember(Name="name")]
public string Store { get; set; }
[DataMember(Name="deals")]
public Offer[] Offers {get; set;}
[DataMember(Name="geometry")]
public GeoCoordinate Location { get; set; }
}
[DataContract]
public class Offer
{
[DataMember]
public string deal;
}
Я попытался DataContractJsonSerializer, который находится в пространстве имен System.Runtime.Serialization.Json и там, по-видимому невозможно преобразовать строку в объект. Есть ли другие библиотеки, которые позволяют мне это сделать? Или есть способ сделать это с помощью этой библиотеки (путем преобразования строки Json в некоторый промежуточный формат.)?
Я так думаю, я также думаю, что я мог бы преобразовывать массив сделок, пока (неправильно) отбрасывал его на Сделку. Я получаю недопустимое исключение. Попробуйте его и примите его, если его работа – gprasant
Убедитесь, что все ваши классы, которые вы десериализуете, чтобы иметь атрибуты контракта с данными. Если нет, вы можете столкнуться с дополнительными проблемами сериализации. –