偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C# 解析 key 值動(dòng)態(tài)的 json 數(shù)據(jù)

開發(fā) 后端
之前在對(duì)接第三方的api的時(shí)候,對(duì)方給的數(shù)據(jù)格式是這樣的json,就是沒有字段屬性這一說 ,都是數(shù)據(jù),而且格式還是不固定的。

背景

之前在對(duì)接第三方的api的時(shí)候,對(duì)方給的數(shù)據(jù)格式是這樣的json

就是沒有字段屬性這一說 ,都是數(shù)據(jù),而且格式還是不固定的。

第一眼看到這東西,心里第一反應(yīng)是想罵人,但是沒辦法,睡覺人家是大爺。

那就的想辦法解析成我們看得懂的數(shù)據(jù)。

思路

仔細(xì)觀察發(fā)現(xiàn),鍵值對(duì)的規(guī)律是第一個(gè)字段是string 類型,但是第二個(gè)是對(duì)象類型。加上沒有字段名稱。所以第一想到的是Dictionary。

下面看下Dictionary特性:

  • 必須包含名空間System.Collection.Generic   
  • Dictionary里面的每一個(gè)元素都是一個(gè)鍵值對(duì)(由二個(gè)元素組成:鍵和值)   
  • 鍵必須是唯一的,而值不需要唯一的   
  • 鍵和值都可以是任何類型(比如:string, int, 自定義類型,等等)   
  • 通過一個(gè)鍵讀取一個(gè)值的時(shí)間是接近O(1)   
  • 鍵值對(duì)之間的偏序可以不定義

所以對(duì)應(yīng)的c# 類型是Dictionary<string, dynamic>>。

眼見為實(shí),那么接下來我們來驗(yàn)證下是否可行。

(1) nuget引用 using Newtonsoft.Json;

(2) 準(zhǔn)備一段數(shù)據(jù)

{
    "r545454aa":"gfgf方(rttr)",
    "111":"機(jī)trtrrt",
  
    "rrr":"2022-02-11",
    "tt":[
        "ghhg",
        "nbbn"
    ],
    "545454":"fdfdfd"
   
}

(3) 解析  JsonConvert.DeserializeObject<Dictionary<string, dynamic>>

   private string Convertjson(string jsonStr)
        {
            var model = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(jsonStr);
            List<QAModel> list = new List<QAModel>();
            foreach (var item in model)
            {
            。。。。。。。。。。。。
            }
            }

(4) 到這里我們測(cè)試發(fā)現(xiàn),數(shù)據(jù)正常解析了,接下來我們就是對(duì)dynamic進(jìn)行再次解析了。

  if (item.Value is string)
                {
                    Text = item.Value;
                }
                else
                {
                    。。。。。。。。。。。。。
                }

到此,問題解決。

責(zé)任編輯:趙寧寧 來源: 后端Q
相關(guān)推薦

2009-09-01 18:32:32

C#動(dòng)態(tài)數(shù)組

2009-09-07 03:58:42

WinForm傳值

2009-09-02 16:20:22

C#動(dòng)態(tài)創(chuàng)建數(shù)組

2009-09-02 16:14:21

C#動(dòng)態(tài)創(chuàng)建數(shù)組

2009-09-02 10:58:02

C#動(dòng)態(tài)數(shù)組

2009-09-17 18:07:22

C#動(dòng)態(tài)數(shù)組

2009-09-02 11:02:57

C#動(dòng)態(tài)數(shù)組

2009-09-09 14:40:15

C# XML解析

2009-08-31 17:30:10

C#接口的作用

2009-09-07 15:27:04

C# MessageB

2009-09-02 16:41:56

C#聲明數(shù)組

2009-08-31 17:47:43

C#接口使用

2009-08-31 18:01:41

C#接口事件

2009-09-02 16:30:20

C#定義數(shù)組

2009-08-31 17:16:12

C#實(shí)現(xiàn)接口

2009-08-27 17:40:21

C#接口的作用

2009-08-03 14:54:23

值類型C#

2009-09-17 17:40:36

C#動(dòng)態(tài)數(shù)組

2009-09-17 17:44:51

C#動(dòng)態(tài)數(shù)組

2009-09-02 11:18:10

C#動(dòng)態(tài)數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)