指示NJsonSchema将自定义字典视为常规Dictionary
本文关键字:Dictionary string Something 常规 NJsonSchema 自定义 字典 指示 | 更新日期: 2023-09-27 18:16:56
假设我有这些配置类:
public class Config
{
[Required]
public ConfigDictionary<string> Files { get; set; }
}
public class ConfigDictionary<T> : Dictionary<string, T>
{
public ConfigDictionary() : base(StringComparer.InvariantCultureIgnoreCase) { }
}
我这样做:
var json = File.ReadAllText(config);
var schema = JsonSchema4.FromType<Config>();
var validationResults = schema.Validate(json);
NJsonSchema以我期望的方式处理Dictionary<string, string>
,但是作为ConfigDictionary<string>
的Files属性不像我期望的那样被视为字典。
是否有办法让NJsonSchema像对待Dictionary<string, T>
一样对待ConfigDictionary<T>
?
我认为你可以编写一个类型映射器并在其中使用FromType: https://github.com/NJsonSchema/NJsonSchema/wiki/Type-Mappers
否则,在项目中创建一个问题,我们可以讨论这个场景