В Newtonsoft JSON, как я могу вернуться к поведению конвертации по умолчанию / временно отключить конвертер JSON - PullRequest
1 голос
/ 01 февраля 2011

Я пытаюсь десериализовать некоторый JSON.

Некоторые вещи в JSON используют пользовательский JSONConverter. Этот конвертер ищет предыдущую версию объекта и объединяет изменения из JSON. Тем не менее, это поведение не имеет смысла, когда объект является новым (потому что нет предыдущей версии), что я проверяю, проверяя идентификатор.

Есть ли способ временно отключить этот конвертер или вернуться к поведению по умолчанию из метода ReadJson?

Очевидным способом было бы удалить конвертер из JsonSerializer и затем снова вызвать с этим команду Deserialize, но при этом возникает проблема, заключающаяся в том, что ни один из последующих элементов не будет использовать пользовательский конвертер.

1 Ответ

2 голосов
/ 02 февраля 2011

Обходной путь для этого заключался в том, чтобы добавить в преобразователь некоторое состояние для исключенных типов, а затем проверить это в методе CanConvert.

...