Newtonsoft.Json用法


修改http://www.cnblogs.com/freexiaoyu/archive/2012/08/21/2649333.html用法

還是原來的JSON格式

Model類

View Code
namespace Maticsoft.Model
{
    /// <summary>
    ///返回JSON屬性
    /// </summary>
    [Serializable]
   public class BackInfo<T>
    { 
        /// <summary>
        /// 狀態
        /// </summary>
        public String result { get; set; }
        /// <summary>
        /// 返回數據
        /// </summary>
        public List<T> info { get; set; }
    }

    /// <summary>
    ///返回JSON屬性
    /// </summary>
    [Serializable]
    public class BackDataTable<T>
    {
        /// <summary>
        /// 狀態
        /// </summary>
        public String result { get; set; }
        /// <summary>
        /// 返回數據
        /// </summary>
        public T info { get; set; }
    }
}

序列化JSON

 Classifyinfo = Json.JsonInfo("200", JsonConvert.SerializeObject(dt)); //這里的dt是datatable

 

反序列化JOSN

View Code
   String JsonData = GetPage("http://localhost:3448/app/api.aspx", "action=ClassifyList&parentID=2");
            Maticsoft.Model.BackDataTable<DataTable> BackInfo = (Maticsoft.Model.BackDataTable<DataTable>)JsonConvert.DeserializeObject(JsonData, typeof(Maticsoft.Model.BackDataTable<DataTable>));
            if (BackInfo.result != "200")
            {
               //失敗
            }
            DataTable dt = BackInfo.info;
                this.DropDownList3.DataSource = dt;
                this.DropDownList3.DataTextField = "Name";
                this.DropDownList3.DataValueField = "CID";
                this.DropDownList3.DataBind(); 

            Maticsoft.Model.BackDataTable<List<Model.Iphone_Classify>> BackInfo1 =
                (Maticsoft.Model.BackDataTable<List<Model.Iphone_Classify>>)
                JsonConvert.DeserializeObject(JsonData, typeof(Maticsoft.Model.BackDataTable<List<Model.Iphone_Classify>>));

            if (BackInfo1.result != "200")
            {
                //失敗 
            }
            /*List<Model.Iphone_Classify> classify = BackInfo1.info;
               this.DropDownList3.DataSource = classify;
               this.DropDownList3.DataTextField = "Name";
               this.DropDownList3.DataValueField = "CID";
               this.DropDownList3.DataBind();*/


            Maticsoft.Model.BackInfo<Model.Iphone_Classify> BackInfo2 = (Maticsoft.Model.BackInfo<Model.Iphone_Classify>)
                JsonConvert.DeserializeObject(JsonData, typeof(Maticsoft.Model.BackInfo<Model.Iphone_Classify>));
            if (BackInfo2.result != "200")
            {//失敗 
            }
            /*List<Model.Iphone_Classify> classify = BackInfo2.info;
               this.DropDownList3.DataSource = classify;
               this.DropDownList3.DataTextField = "Name";
               this.DropDownList3.DataValueField = "CID";
               this.DropDownList3.DataBind();*/

如果序列化JSON直接用的是datatable的話反序列化直接用

DataTable dt=(DataTable)JsonConvert.DeserializeObject<DataTable>(JsonData);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM