public static T Convert <T>(IJsonCollection obj) { /* TODO: can this be done more efficiently? */ var serializer = new DataContractJsonSerializer(typeof(T)); var textData = obj.ToString(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(textData))) { return((T)serializer.ReadObject(stream)); } }