Примечание: я отправил аналогичный вопрос , который был прародителем этого вопроса, так как я первоначально думал об использовании JSON.NET для анализа JSON, но я использую встроенный в десериализаторе, так что это другой вопрос.
Вот что я пытаюсь сделать: например, у меня есть класс Item. У json есть много «элементов» (если так они называются - они имитируют класс Item), и каждое из них содержит 3 поля: целое число с именем id, строка с именем name и дата-время с именем creationTime. Я хотел бы проанализировать все эти «элементы» Item из json в список объектов Item. Я создал 3 поля в классе Item, чтобы соответствовать JSON.
Вот что я сейчас делаю:
JavaScriptSerializer ser = new JavaScriptSerializer();
List<Item> items = ser.Deserialize<Item>(new StreamReader(response.GetResponseStream()).ReadToEnd());
Однако это не работает, потому что я "не могу неявно преобразовать тип 'superapi.Item' в 'System.Collections.Generic.List <superapi.Item
>'". Таким образом, я не знаю, как решить эту проблему, так как в JSON есть много элементов архитектуры Item. Можно ли как-то сделать это в цикле foreach, найти каждый десериализованный элемент в JSON, добавить его в список и продолжить цикл? Я попытаюсь сделать это с помощью некоторого похожего кода, и я опубликую свои результаты.
Спасибо!
ОБНОВЛЕНИЕ: Вот как выглядит JSON:
[{
"Id": 1,
"Name": "First item name",
"creationTime": "\/Date(1247258293690)\/"
},
{
"Id": 2,
"Name": "Second item name",
"creationTime": "\/Date(1247088323430)\/"
}]
Вот как выглядит мой класс Item:
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime creationTime { get; set; }
}