麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

c#使用json接口

2019-11-14 14:04:19
字體:
來源:轉載
供稿:網友

      前些日子將項目由使用數據庫改版為使用接口,由于接口返回的xml中多了一些附加信息,導致xml轉化后的DataTable無法儲存在MemCache中。這時可以將xml序列化為其對應的類,當然由于當時對xml的序列化使用不多所以改為接收json轉化為對應的類,這里主要展示我如何使用json的。

            在接收到傳過來的json字符串后,使用JsonConvert.DeserializeObject<T>(string value);轉化為相應的類型。于是我寫下了需要轉化的第一個類型,如下:

   /// <summary>    /// 用于序列化json字符串    /// </summary>   public class JsonSet    {        public string message{set;get;}        public string code { set; get; }        public DataTable entitylist { set; get; }          }

  然后改造接口調用中間函數

      PRivate static bool GetJsonSearchData<T>(string param, string url, string method, int length, ref T jsonResult, string encodeWay = "gb2312")        {            bool isSucc = true;            StringBuilder sb = GetSearchData(param, url, method, length, encodeWay);            if (sb != null && sb.Length > 0)            {                try                {                    jsonResult = JsonConvert.DeserializeObject<T>(sb.ToString());                }                catch                {                    isSucc = false;                }            }            return isSucc;        }

 使用方法如:

1   JsonSet jset = new JsonSet();2             SearchInterface.PostSearchData<JsonSet>(parms, url, ref jset);3             if (jset != null && jset.entitylist != null)4             {5                 return jset.entitylist;6             }

        由于完全貼合json字符格式創建的類,返回的DataTable格式就是標準的格式,解決了在Memcache中存儲的問題。后來在使用中發現原先需要將DataTable轉化為相應的對象,如果直接將json轉化為相應對象,豈不是要省點事。但項目中所用的類如果都要改造的話改動太多,也不方便,后來發現json字符串相對這些類僅多了code、message兩個屬性,于是將對象改造為如下

1   public  class JsonTList<T>2     {3         public string code { set; get; }4         public string message { set; get; }5         public List<T> entitylist { set; get; }6     }

使用方式如

1    JsonTList<AgtInfoEntity> jT = new JsonTList<AgtInfoEntity>();2                 SearchInterface.PostSearchData<JsonTList<AgtInfoEntity>>(parms, url, ref jT);3                 if (jT != null && jT.entitylist != null && jT.entitylist.Count > 0)4                 {5                     agtInfoEntity = jT.entitylist;6                     CacheManager.Set(cacheName, agtInfoEntity);7                 }

      由此就形成了我們新的接口體系。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美毛片| 禁漫天堂久久久久久久久久 | 中文字幕在线视频日本 | 日本韩国欧美一级片 | 九九热视频免费 | 婷婷中文字幕一区二区三区 | 日韩精品中文字幕一区二区三区 | 国产亚洲高清视频 | 日韩精品中文字幕一区二区三区 | 中文欧美日韩 | 国产精品资源手机在线播放 | 国产瑟瑟视频 | 国产一区二区三区四区五区精品 | 色猫av| 精品一区二区三区日本 | 精品国产亚洲人成在线 | 91伊人久久| 久久精品超碰 | 亚洲乱码精品久久久久 | 亚洲性生活视频 | 九九精品免费 | 色中色在线视频 | 日韩精品久久久久久久九岛 | 婷婷久久青草热一区二区 | h视频在线免费观看 | 免费观看一区二区三区视频 | videos高潮 | 国产精品久久久久久久久久 | 男男啪羞羞视频网站 | 亚洲精品自在在线观看 | 免费一级a毛片免费观看 | 成人福利免费在线观看 | 亚洲二区三区在线 | 91av久久 | 午夜视频在线观看91 | 国产一区二区三区视频在线 | 亚洲第一视频 | 青草伊人网 | 美国一级毛片片aa久久综合 | 在线成人看片 | 久久成人激情视频 |