public static GenericJsonCollection DeserializeFromStream(System.IO.Stream stream)
{
var serializer = new Newtonsoft.Json.JsonSerializer();
serializer.TypeNameHandling = TypeNameHandling.All;
serializer.TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple;
Dictionary<string, object> obj = null;
using (var sr = new StreamReader(stream))
using (var jsonTextReader = new JsonTextReader(sr)) {
obj = serializer.Deserialize<Dictionary<string, object>>(jsonTextReader);
}
JContainer items = (JContainer)obj["items"];
GenericJsonCollection collection = new GenericJsonCollection();
collection.items = new List<GenericJsonItem>();
foreach (var item in items) {
GenericJsonItem it = new GenericJsonItem(item.ToObject<Dictionary<string, object>>());
collection.items.Add(it);
}
return collection;
}