日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

.NET Core 3.0 新 JSON API - JsonDocument

發(fā)布時(shí)間:2023/12/4 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core 3.0 新 JSON API - JsonDocument 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JsonDocument?

JsonDocument是基于Utf8JsonReader?構(gòu)建的JsonDocument?可分析?JSON?數(shù)據(jù)并生成只讀文檔對(duì)象模型?(DOM),可對(duì)模型進(jìn)行查詢,以支持隨機(jī)訪問和枚舉。使用?JsonDocument?分析常規(guī)?JSON?有效負(fù)載并訪問其所有成員比使用?Json.NET??2-3?倍,且為合理大小(即?< 1 MB)的數(shù)據(jù)所分配的量非常少。?

JsonDocument可以處理Span,也可以處理Stream?

?

例子:?

這里我通過File.OpenReadjson文件轉(zhuǎn)化為stream。然后使用JsonDocument.Parse方法把stream解析成JSON文檔對(duì)象模型。?

注意,這里我使用了C# 8using var語法,這個(gè)以后再說。?

?

下面我們開始從這個(gè)JSON文檔對(duì)象模型的根節(jié)點(diǎn)開始遍歷,也就是RootElement?

?

然后通過root這個(gè)JsonElement類型的對(duì)象的GetProperty方法來獲得相應(yīng)的屬性,而且這個(gè)方法可以連串使用:?

最后一行使用GetString方法來獲得該屬性的字符串值。?

?

然后我們可以寫一個(gè)遞歸調(diào)用的方法來遍歷整個(gè)模型的每個(gè)屬性:?

這個(gè)方法接受JsonElement類型的對(duì)象,然后對(duì)該元素的屬性進(jìn)行循環(huán)。?

如果當(dāng)前屬性是另一個(gè)對(duì)象,那么就繼續(xù)遞歸調(diào)用這個(gè)方法;?

否則就輸出原始的文本。?

?

?

最后調(diào)用該方法:?

?

輸出結(jié)果為:?

與json文件的內(nèi)容匹配。?

?

?

最后解釋一下什么是遞歸:?

?

?

?

?

更詳細(xì)的內(nèi)容請(qǐng)查看原文連接。

總結(jié)

以上是生活随笔為你收集整理的.NET Core 3.0 新 JSON API - JsonDocument的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。