zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    faster with MyISAM tables than with InnoDB or NDB tables
    w-BIG TABLE 1-toSMALLtable @-toMEMORY
    Indexing and Hashing
    MEMORY Storage Engine MEMORY Tables TEMPORARY TABLE max_heap_table_size
    controlling the variance of request response times and not just worrying about maximizing queries per second
    Variance
    Population Mean
    12.162s 1805.867s
    situations where MyISAM will be faster than InnoDB
    1920.154s 0.309s 30817
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/2738974.html
Copyright © 2011-2022 走看看