javascript
.NET Core 3.0 新 JSON API - JsonDocument
JsonDocument類?
JsonDocument是基于Utf8JsonReader?構建的。JsonDocument?可分析?JSON?數據并生成只讀文檔對象模型?(DOM),可對模型進行查詢,以支持隨機訪問和枚舉。使用?JsonDocument?分析常規?JSON?有效負載并訪問其所有成員比使用?Json.NET?快?2-3?倍,且為合理大小(即?< 1 MB)的數據所分配的量非常少。?
JsonDocument可以處理Span,也可以處理Stream。?
?
例子:?
這里我通過File.OpenRead把json文件轉化為stream。然后使用JsonDocument.Parse方法把stream解析成JSON文檔對象模型。?
注意,這里我使用了C# 8的using var語法,這個以后再說。?
?
下面我們開始從這個JSON文檔對象模型的根節點開始遍歷,也就是RootElement:?
?
然后通過root這個JsonElement類型的對象的GetProperty方法來獲得相應的屬性,而且這個方法可以連串使用:?
最后一行使用GetString方法來獲得該屬性的字符串值。?
?
然后我們可以寫一個遞歸調用的方法來遍歷整個模型的每個屬性:?
這個方法接受JsonElement類型的對象,然后對該元素的屬性進行循環。?
如果當前屬性是另一個對象,那么就繼續遞歸調用這個方法;?
否則就輸出原始的文本。?
?
?
最后調用該方法:?
?
輸出結果為:?
與json文件的內容匹配。?
?
?
最后解釋一下什么是遞歸:?
?
?
?
?
更詳細的內容請查看原文連接。
總結
以上是生活随笔為你收集整理的.NET Core 3.0 新 JSON API - JsonDocument的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ASP.NET Core在 .NET C
- 下一篇: 微软推出 Microsoft.Data.
