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

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

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

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

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

背景

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

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

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

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

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

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

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

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

思路

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(3) 解析  JsonConvert.DeserializeObject<Dictionary<string, dynamic>>V5828資訊網——每日最新資訊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)            {            。。。。。。。。。。。。            }            }

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

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

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
  • 2023年Q2用戶偏好榜:12+256G版本成新主流

    3月份的性能榜、性價比榜和好評榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機潮已經過去,最明顯的肯定就是大內存和存儲的機型了,另外部分中端機也取消了屏幕塑料支架
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 一文看懂為蘋果Vision Pro開發應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現實(MR)頭戴設備。Vision Pro結合了虛擬現實(VR)和增強現實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
  • SN570 NVMe SSD固態硬盤 價格與性能兼具

    SN570 NVMe SSD固態硬盤是西部數據發布的最新一代WD Blue系列的固態硬盤,不僅閃存技術更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
  • 利用職權私自解除被封帳號 Meta開除20多名員工

    11月18日消息,據外媒援引知情人士表示,過去一年時間內,Facebook母公司Meta解雇或處罰了20多名員工以及合同工,指控這些人通過內部系統以不當方式重置用戶帳號,其
  • Meta盲目擴張致超萬人被裁,重金押注元宇宙而前景未明

    圖片來源:圖蟲創意日前,Meta創始人兼CEO 馬克&middot;扎克伯發布公開信,宣布Meta計劃裁員超11000人,占其員工總數13%。他公開承認了自己的預判失誤:&ldquo;不僅
Top 主站蜘蛛池模板: 潞西市| 北宁市| 德化县| 丹东市| 祁连县| 雅安市| 佛冈县| 黑龙江省| 张北县| 齐河县| 苗栗市| 新野县| 昆明市| 乌拉特前旗| 达拉特旗| 武穴市| 古丈县| 德格县| 灵台县| 容城县| 河东区| 南陵县| 海门市| 瑞昌市| 马鞍山市| 南丰县| 镇赉县| 观塘区| 通道| 双牌县| 定远县| 伊金霍洛旗| 昌江| 洪湖市| 搜索| 铜鼓县| 柳州市| 太湖县| 古田县| 辽阳县| 肥城市|