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