怎么在C#中反序列化Json-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)怎么在C#中反序列化Json,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計公司的優(yōu)秀設(shè)計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計師、平面廣告設(shè)計師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站改版、網(wǎng)頁設(shè)計制作、網(wǎng)站建設(shè)與維護、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務(wù)。

Json源數(shù)據(jù):

 var data = "{'jingdong_ldop_receive_trace_get_responce':{'code':'0','querytrace_result':{'data':[{'opeTitle':'快遞簽收','opeRemark':'貨物已交付京東物流','opeTime':'2011/04/17 18:23:20','opeName':'京東快遞','waybillCode':'bc00000001'},{'opeTitle':'站點驗貨','opeRemark':'貨物已分配,等待配送','opeTime':'2011/04/23 08:29:56','opeName':'京東快遞','waybillCode':'bc00000001'},{'opeTitle':'配送員收貨','opeRemark':'配送員開始配送,請您準備收貨,','opeTime':'2011/04/23 08:36:28','opeName':'京東快遞','waybillCode':'bc00000001'},{'opeTitle':'妥投','opeRemark':'貨物已完成配送,感謝您選擇京東物流','opeTime':'2011/04/23 09:47:13','opeName':'京東快遞','waybillCode':'bc00000001'}],'messsage':'成功','code':100}}}";

第一種:是用匿名方法生成,按照Json的格式,從外到內(nèi),一步一步寫,非數(shù)組用new{},數(shù)組用new[]{},名字必須與json中名字一致

//使用匿名變量構(gòu)造
   {
    var JsonDataForVar = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(data, new
    {
     jingdong_ldop_receive_trace_get_responce = new
     {
      code = string.Empty,
      querytrace_result = new
      {
       data = new[] {
       new {
         opeTitle=string.Empty,
         opeRemark=string.Empty,
         opeTime=string.Empty,
         waybillCode=string.Empty,
         opeName=string.Empty
       }
      }
      }
     }
    });

    foreach (var item in JsonDataForVar.jingdong_ldop_receive_trace_get_responce.querytrace_result.data)
    {
     var a = item.opeTitle;
     var b = item.opeRemark;
     var c = item.opeTime;
     var d = item.waybillCode;
     var f = item.opeName;

    }
   }

第二種:使用實體

//實體部分,建議從內(nèi)到外寫實體,名字必須與json中名字一致【簡便方法,搜索Json轉(zhuǎn)實體,將Json字符串導(dǎo)入,自動生成實體】

public class Item
  {
   public string opeTitle { get; set; }
   public string opeRemark { get; set; }
   public string opeTime{ get; set; }
   public string waybillCode { get; set; }
   public string opeName { get; set; }
  }

  public class JdResult
  {
   public string code { get; set; }
   public string msg { get; set; }
   public List<Item> data { get; set; }
  }

  public class JdResponce
  {
   public string code { get; set; }

   public JdResult querytrace_result { get; set; }
  }

  public class JdBody
  {
   public JdResponce jingdong_ldop_receive_trace_get_responce { get; set; }
  }

//方法

//使用實體構(gòu)造
   {
    var JsonDataForClass = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(data, new JdBody());

    foreach (var item in JsonDataForClass.jingdong_ldop_receive_trace_get_responce.querytrace_result.data)
    {
     var a = item.opeTitle;
     var b = item.opeRemark;
     var c = item.opeTime;
     var d = item.waybillCode;
     var f = item.opeName;
    }
   }

C#是什么

C#是一個簡單、通用、面向?qū)ο蟮木幊陶Z言,它由微軟Microsoft開發(fā),繼承了C和C++強大功能,并且去掉了一些它們的復(fù)雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程從而成為.NET開發(fā)的選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能。

關(guān)于怎么在C#中反序列化Json就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標題:怎么在C#中反序列化Json-創(chuàng)新互聯(lián)
瀏覽路徑:http://bm7419.com/article22/dpoccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、定制網(wǎng)站網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、App設(shè)計、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管