日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

C# 解析 key 值動態的 json 數據

來源: 責編: 時間:2024-04-02 17:23:48 187觀看
導讀背景之前在對接第三方的api的時候,對方給的數據格式是這樣的json就是沒有字段屬性這一說 ,都是數據,而且格式還是不固定的。第一眼看到這東西,心里第一反應是想罵人,但是沒辦法,睡覺人家是大爺。那就的想辦法解析成我們看得

hrC28資訊網——每日最新資訊28at.com

背景

hrC28資訊網——每日最新資訊28at.com

之前在對接第三方的api的時候,對方給的數據格式是這樣的jsonhrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

就是沒有字段屬性這一說 ,都是數據,而且格式還是不固定的。hrC28資訊網——每日最新資訊28at.com

第一眼看到這東西,心里第一反應是想罵人,但是沒辦法,睡覺人家是大爺。hrC28資訊網——每日最新資訊28at.com

那就的想辦法解析成我們看得懂的數據。hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

思路

仔細觀察發現,鍵值對的規律是第一個字段是string 類型,但是第二個是對象類型。加上沒有字段名稱。所以第一想到的是Dictionary。hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

下面看下Dictionary特性:hrC28資訊網——每日最新資訊28at.com

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

hrC28資訊網——每日最新資訊28at.com

所以對應的c# 類型是Dictionary<string, dynamic>>。hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

眼見為實,那么接下來我們來驗證下是否可行。hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

(1) nuget引用 using Newtonsoft.Json;hrC28資訊網——每日最新資訊28at.com

hrC28資訊網——每日最新資訊28at.com

(2) 準備一段數據hrC28資訊網——每日最新資訊28at.com

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

hrC28資訊網——每日最新資訊28at.com

(3) 解析  JsonConvert.DeserializeObject<Dictionary<string, dynamic>>hrC28資訊網——每日最新資訊28at.com

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

hrC28資訊網——每日最新資訊28at.com

(4) 到這里我們測試發現,數據正常解析了,接下來我們就是對dynamic進行再次解析了。hrC28資訊網——每日最新資訊28at.com

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

hrC28資訊網——每日最新資訊28at.com

到此,問題解決。hrC28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-80894-0.htmlC# 解析 key 值動態的 json 數據

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 避免犯錯!C++編程中的十大高頻易犯錯誤

下一篇: Angular 重磅回歸,能否重回巔峰?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 炉霍县| 两当县| 枣阳市| 胶南市| 高平市| 藁城市| 衡南县| 浪卡子县| 宁乡县| 崇阳县| 搜索| 广南县| 泰兴市| 西乌珠穆沁旗| 苏尼特右旗| 大荔县| 五台县| 五常市| 大冶市| 千阳县| 香港| 峡江县| 潞西市| 伊宁县| 定襄县| 澳门| 公安县| 和静县| 东宁县| 封开县| 富顺县| 高要市| 巩义市| 金乡县| 盐亭县| 鸡东县| 腾冲县| 江永县| 东乌珠穆沁旗| 蓬安县| 台州市|