之前在對接第三方的api的時候,對方給的數據格式是這樣的json
就是沒有字段屬性這一說 ,都是數據,而且格式還是不固定的。
第一眼看到這東西,心里第一反應是想罵人,但是沒辦法,睡覺人家是大爺。
那就的想辦法解析成我們看得懂的數據。
仔細觀察發現,鍵值對的規律是第一個字段是string 類型,但是第二個是對象類型。加上沒有字段名稱。所以第一想到的是Dictionary。
下面看下Dictionary特性:
所以對應的c# 類型是Dictionary<string, dynamic>>。
眼見為實,那么接下來我們來驗證下是否可行。
(1) nuget引用 using Newtonsoft.Json;
(2) 準備一段數據
{ "r545454aa":"gfgf方(rttr)", "111":"機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) 到這里我們測試發現,數據正常解析了,接下來我們就是對dynamic進行再次解析了。
if (item.Value is string) { Text = item.Value; } else { 。。。。。。。。。。。。。 }
到此,問題解決。
本文鏈接:http://www.www897cc.com/showinfo-26-80894-0.htmlC# 解析 key 值動態的 json 數據
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 避免犯錯!C++編程中的十大高頻易犯錯誤
下一篇: Angular 重磅回歸,能否重回巔峰?