Tuesday, November 27, 2012

Deserialize and serialize json in .net

public static T Deserialise<T>(string json) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); obj = (T)serializer.ReadObject(ms); // <== Your missing line return obj; } }

public static string Serialize<T>(T obj) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, obj); return Encoding.Default.GetString(ms.ToArray()); } }

//define object t
[DataContract]
    public class SearchResult
    {

//text means the attribute in json string
        [DataMember(Name = "text", Order = 0)]
        public string Text { get; set; }

        [DataMember(Name = "to_user_id", Order = 1)]
        public int? ToUserId { get; set; }
       
        [DataMember(Name = "from_user", Order = 2)]
        public string FromUser { get; set; }

        [DataMember(Name = "id_str", Order = 3)]
        public long Id { get; set; }

        [DataMember(Name = "from_user_id", Order = 4)]
        public long? FromUserId { get; set; }

        [DataMember(Name = "iso_language_code", Order = 5)]
        public string IsoLanguageCode { get; set; }

        [DataMember(Name = "profile_image_url", Order = 6)]
        public string ProfileImageUrl { get; set; }

        [DataMember(Name = "created_at", Order = 7)]
        public string CreatedAt { get; set; }
    }

No comments:

Post a Comment