透過自訂處理克服意外的JSON 枚舉值
當遇到包含超出目前枚舉定義的枚舉值的JSON資料時,可能會遇到使用Json.net 反序列化期間出現異常。要解決這個問題,建立自訂 JsonConverter 是一個有效的解決方案。
TolerantEnumConverter:一種靈活的反序列化方法
TolerantEnumConverter 是一個自訂 JsonConverter,可以靈活處理無法識別的情況枚舉值。它遵循決策樹來確定適當的回應:
優點和實現
使用TolerantEnumConverter 提供了幾種:
實作TolerantEnumConverter,只需將其作為 [JsonConverter] 屬性新增至您的枚舉類型即可。答案中提供的程式碼可以用作起點,並根據您的專案需求進行客製化。
示範和效果
提供的示範展示了 TolerantEnumConverter 如何處理各種 JSON 枚舉值,包括有效值、無效值和空值。顯示可為空和不可為空枚舉的結果,展示了轉換器在提供靈活的反序列化結果的同時防止異常的能力。
以上是自訂 JsonConverter 如何處理 JSON 反序列化中的意外枚舉值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!