C#JSON序列化與還原序列化

來源:互聯網
上載者:User

標籤:des   style   blog   http   io   ar   color   os   使用   

原文:C#JSON序列化與還原序列化

windows phone學習也有一段時間了,想要做一個新聞用戶端練練手,於是就在網上找看有沒有介面之類。在天狗播客找到了熱點熱詞新聞資訊API開放介面,介面提供的是JSON格式的資料,由於之前沒用過JSON,於是就在網上各種查、技術討論群上各種問......

廢話不多說了,下面把我收穫分享出來。望像我一樣的小白少走彎路。

一個實體類

public  class NewsModel    {      public string Title { get; set; }      public string Times { get; set; }      public string Contents { get; set; }    }

 序列化方法

        #region 對實體類進行json序列化        /// <summary>        /// 對實體類進行json序列化        /// </summary>        /// <param name="item">實體類對象</param>        /// <returns>json格式字串</returns>        public static string ToJosnData(object item)        {            DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());            string result = string.Empty;            using (MemoryStream ms = new MemoryStream())            {                serializer.WriteObject(ms, item);                ms.Position = 0;                using (StreamReader reader = new StreamReader(ms))                {                    result = reader.ReadToEnd();                }            }            return result;        }         #endregion
 對實體類進行json序列化
            List<NewsModel> ltModel = new List<NewsModel>();            ltModel.Add(new NewsModel { Title = "標題1", Contents = "內容1", Times = "2014-12--2" });            ltModel.Add(new NewsModel { Title = "標題2", Contents = "內容2", Times = "2014-12--2" });            ltModel.Add(new NewsModel { Title = "標題3", Contents = "內容3", Times = "2014-12--2" });            ltModel.Add(new NewsModel { Title = "標題4", Contents = "內容4", Times = "2014-12--2" });            ltModel.Add(new NewsModel { Title = "標題5", Contents = "內容5", Times = "2014-12--2" });            ltModel.Add(new NewsModel { Title = "標題6", Contents = "內容6", Times = "2014-12--2" });            string jsonstr=JsonHelper.ToJosnData(ltModel);
輸出JSON字串為:

 把JSON字串序列為實體物件的方法是使用Newtonsoft.Json.dll,可以在官網下載http://json.codeplex.com/

引入命名空間以後,就很容易了

            List<NewsModel> DeModel = new List<NewsModel>();            var root = JsonConvert.DeserializeObject<NewsModel[]>(jsonstr);            foreach (var item in root)            {                DeModel.Add(new NewsModel { Title = item.Title, Contents = item.Contents, Times = item.Times });            }

這樣就把JSON字串還原序列化為一個list集合了。

參考:http://stackoverflow.com/questions/8639421/json-parsing-in-windows-phone-7。

 

C#JSON序列化與還原序列化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.