一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#中Json反序列化的實現(xiàn)方法

C#中Json反序列化的實現(xiàn)方法

2022-02-24 14:09劉Te C#

這篇文章主要給大家介紹了關于C#中Json反序列化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧

前言

Json反序列化有兩種方式【本人】,一種是生成實體的,方便處理大量數據,復雜度稍高,一種是用匿名類寫,方便讀取數據,較為簡單。

使用了Newtonsoft.Json,可以自行在nuget中導入

Json源數據:

?
1
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的格式,從外到內,一步一步寫,非數組用new{},數組用new[]{},名字必須與json中名字一致

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//使用匿名變量構造
   {
    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;
 
    }
   }

第二種:使用實體

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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; }
  }

//方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//使用實體構造
   {
    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;
    }
   }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/GZNETLGN/p/8930870.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美xxxxx九色视频免费观看 | 精品国产91久久久久 | 成人网免费视频 | 精品一区二区三区在线播放 | 男人插曲女人下面 | 玩50岁四川熟女大白屁股直播 | 香蕉eeww99国产精选播放 | 日本一区二区三区在线 视频 | 天天av天天翘天天综合网 | 美国一级大黄大色毛片 | 成人免费体验区福利云点播 | 扒开胸流出吃奶 | 国产短视频精品一区二区三区 | 亚洲精品动漫在线观看 | 国产欧美精品专区一区二区 | 97超pen个人视频公开视频视 | 久久五月综合婷婷中文云霸高清 | 日韩一区在线观看 | 九色PORNY真实丨国产大胸 | 国产精品一二三 | 精品无人区乱码1区2区3区在线 | 美女被狂干| 欧美午夜精品久久久久久黑人 | 欧美极品摘花过程 | 亚洲第一色网站 | 四虎1515hhc0m| 99九九成人免费视频精品 | 精久久 | 舔逼 | 99久久免费看国产精品 | 无限资源在线观看8 | 美女禁18| 网红刘婷hd国产高清 | 欧美性野久久久久久久久 | 日本人成大片在线 | 韩国免费视频 | 继的朋友无遮漫画免费观看73 | 精品区2区3区4区产品乱码9 | 视频大全在线观看免费 | 视频一区二区三区在线观看 | 国产精品福利一区二区亚瑟 |