C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

這篇文章將為大家詳細講解有關(guān)C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

南芬ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

提出問題

一般API接口都會有一個自己定義的標準的響應(yīng)的數(shù)據(jù)格式,比如這位同學(xué)對接的API接口數(shù)據(jù)格式說明(如下圖),從圖中我們可以看到code節(jié)點和message節(jié)點是固定響應(yīng)頭,唯一變化的是data節(jié)點。那么大家有沒有想到變化的類型在C#中我們可以用什么類型進行替代呢?答案想必大家都知道,那就是泛型T。

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

分析問題

先來一個簡單一點的JSON格式:

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

再來稍微一點復(fù)雜的JSON格式

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

如果接口字段少一點的話,我們還可以JSON節(jié)點通過手動進行Mapping映射為C#實體對象屬性。那么如果接口字段比較多,數(shù)據(jù)類型比較復(fù)雜,而且層級嵌套比較深的話,有沒有簡單快速的方式進行自動化的方式自動生成Mapping映射我們想要的C#實體對象呢?答案:是肯定的!??!接下來阿笨將給大家推薦幾種方式,敬請拭目以待。

解決問題

1)、在線json生成C#實體工具類,這里阿笨推薦下面兩款

http://www.jsons.cn/jsontomodel/

http://www.bejson.com/convert/json2csharp

使用方式很簡單,復(fù)制JSON格式字符串,直接點擊生成C#實體對象類。

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

2)、VS2019自動格式轉(zhuǎn)換。

1、復(fù)制你要轉(zhuǎn)換的JSON格式字符串。(記住一定要先復(fù)制自己想要轉(zhuǎn)換的JSON格式字符串哦)

2、打開VS2019(其他低版本VS版本阿笨沒測試,自己去試一下哦),找到【編輯】-【選擇性粘貼】-【將JSON粘貼為類】

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

所有的工具都不是萬能的,轉(zhuǎn)換后的格式需要自己驗證一下是否合理哦。不過大家放心,大部分的JSON類型的字符串類型都可以做到一鍵生成。哈哈,有點類似代碼生成器的感覺,太爽了。

嘮叨了這么多,上干貨

給大家寫了幾個示例DEMO,只要能夠掌握這幾個示例,以后解析任何復(fù)雜類型的JSON字符串都沒有障礙了。

核心的一句話是:json字符串反序列化為C#對象,C#對象序列化為JSON字符串。

示例一:簡單格式的JSO你字符串:

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

示例二:稍微復(fù)雜一點的字符串

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

示例三:Dictionary<string, object> 轉(zhuǎn)JSON字符串

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

示例四:數(shù)組[] 轉(zhuǎn)JSON字符串

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

示例五:集合轉(zhuǎn)JSON數(shù)組

JSON代碼:

{

"ids":[1,2,3]

}

對應(yīng)的生成C#代碼

public class OrderInfo

{

    public List<int> ids { get; set; }

}

C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)

關(guān)于“C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)頁題目:C#怎么解析復(fù)雜的JSON格式接口數(shù)據(jù)
網(wǎng)頁URL:http://muchs.cn/article44/joooee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機網(wǎng)站設(shè)計公司、軟件開發(fā)、營銷型網(wǎng)站建設(shè)、用戶體驗、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營