public class JsonConverter
{
public static Encoding Encoding = Encoding.UTF8;
public static T GetObject<T>(string json)
{
return (T)GetObject(typeof(T), json);
}
public static T GetObject<T>(Stream stream)
{
return (T)GetObject(typeof(T), stream);
}
public static object GetObject(Type type, string json)
{
using (MemoryStream ms = new MemoryStream(Encoding.GetBytes(json)))
{
return GetObject(type, ms);
}
}
public static object GetObject(Type type, Stream stream)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(type);
return serializer.ReadObject(stream);
}
}
[DataContract]
public class Error
{
[DataMember(Name = "status")]
public string Status { get; set; }
[DataMember(Name = "reason")]
public string Reason { get; set; }
}