自定义类如何与源生成器JsonConverter<>一起使用?System.Text.Json
我想调用JsonSerializer.Deserialize<MyType[]>()它不会回退到基于反射的实现并使用自定义MyTypeJsonParser : JsonConverter<MyType>.
编辑澄清:自定义转换器是为 实现的MyType,但 json 包含一个对象数组MyType。因此,我想创建JsonSerializerContext反序列array化MyType对象(MyType[])的源生成,使用生成的代码反序列化array部分和手动转换器反序列MyType化对象部分。
旧代码(不使用源代码生成器)通过将自定义转换器添加到JsonSerializerOptions.Converters.
但是,经过进一步研究,我发现Converters. 文档JsonSourceGenerationOptionsAttribute中的表格还指出,并且在序列化优化模式中不受支持。因此,目前(.NET 6)似乎不可能将自定义转换器与 json 源生成器混合。JsonConverterAttributeJsonSerializerOptions.Converters
文档不清楚,至少元数据收集源生成模式是否可以使用JsonConverterAttribute.