將巢狀JSON 反序列化為巢狀字典
在.NET Core 3.1中, System.Text.Json提供了反序列化JSON的標準方法。預設情況下,JSON 物件會反序列化為 JsonElement 對象,這些物件提供對 JSON 資料結構的訪問,但不會自動將值轉換為其對應的 C# 類型。
問題:
目標是將巢狀的JSON 物件反序列化為Dictionary
解決方案:
要實現這一點,名為ObjectAsPrimitiveConverter的自訂JsonConverter 是必要的,因為System.Text.Json不提供此特定類型轉換的開箱即用功能。
ObjectAsPrimitiveConverter 提供以下功能:
型別感知反序列化:
數位處理:
物件處理:
實現:
用法:
註釋:JSON 允許任意精度和大小的數字,而. NET 原始數字類型則不然。如果 JSON 數字無法解析為 .NET 基元類型,則轉換器提供傳回該數字的 JsonElement 或引發例外狀況的選項。
以上是如何在 .NET Core 中將巢狀 JSON 反序列化為具有類型區分的巢狀字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!