Есть Json следующего вида
{"some_elements":[{"id":1, "name":"some_name"},{"id":2, "name":"some_name"}]}
короче массив некоторых элементов.
Мне нужно десериализовать это в такую модель
[DataContract(Name = "some_element")]
public class SomeElement: ModelBase
{
[DataMember(Name = "id")]
public int Id { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
}
[DataContract(Name = "some_elements")]
public class SomeElementCollection: ModelBase, IEnumerable<IssueStatus>
{
[DataMember]
public IssueStatus[] Items;
public IEnumerator<SomeElement> GetEnumerator()
{
return ((IEnumerable<SomeElement>)Items).GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<SomeElement>)Items).GetEnumerator();
}
}
На класс ModelBase пришлось повешать атрибут [DataContract] без Name (я не могу базовому классу задать имя контракта)
UPD:
Ошибка исправлена. Изначально был косяк в создании стрима. Теперь другая беда. Успешно создается SomeElementCollection
, но он не содержит в себе элементов. Я подозреваю, что дело в том, что над SomeElement
висит контракт с именем some_element, которого нет в разметке json. Но убрать его я не могу, потому что тип данных может использоваться и xml опционально, а в нем уже это выглядит так
<some_elements>
<some_element>
***
</some_element>
<some_element>
***
</some_element>
</some_elements>
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Допустим, имеется текст text1(text2)text2 нужно получить text1 (text2) text2
Как определить текущий DispatcherPriority из метода который выполняет Dispatcher? Если я запускаю какой–то метод через Dispatcher с приоритетом (для примера)...