有没有办法将 JsonSerializerSettings 添加到自定义 JsonConverter

axa*_*axa 2 c# json.net

在使用 json.net 时,我需要调整(反)序列化器设置,因此我创建一个JsonSerializerSettings实例并按如下方式使用它:

JsonConvert.DeserializeObject<SomeType>(someString, mySerializerSettings.ss); 
Run Code Online (Sandbox Code Playgroud)

但后来我发现有必要对一些损坏的数据使用自定义JsonConverter,然后像这样使用它:

JsonConvert.DeserializeObject<SomeType>(someString, new myConverter());
Run Code Online (Sandbox Code Playgroud)

但我现在发现我需要同时使用JsonSerializerSettings自定义转换器,但我没有看到任何DeserializeObject允许这样做的方法重载。

我可能会缺少什么?

我正在使用 .net v4.5.2 和 json.net v10.0。

Bri*_*ers 6

JsonSerializerSettings有一个Converters收藏。因此,将您的转换器添加到该集合中,然后将设置传递到DeserializeObject.

mySerializerSettings.ss.Converters.Add(new myConverter());
var obj = JsonConvert.DeserializeObject<SomeType>(someString, mySerializerSettings.ss);
Run Code Online (Sandbox Code Playgroud)