2011-02-01 25 views
1

我試圖反序列化一些JSON。在Newtonsoft JSON中,我該如何回退到默認的轉換行爲/暫時禁用JSON轉換器

JSON中的一些內容使用自定義的JSONConverter。該轉換器查找該對象的先前版本並從JSON中進行合併。然而,當對象是新的時(因爲沒有以前的版本),這種行爲是沒有意義的,我通過檢查id來檢查。

有沒有辦法暫時禁用此轉換器或從ReadJson方法中回退到默認行爲?

顯而易見的方法是從JsonSerializer中移除轉換器,然後再次調用Deserialize,但是這會產生後續項目都不會使用自定義轉換器的問題。

回答

2

我的解決方法是爲排除的類型添加一些狀態到轉換器,然後在CanConvert方法中對其進行測試。