指示 NJsonSchema 将自定义词典视为常规词典<字符串,某些东西>



假设我有这些配置类:

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

否则,在项目中创建一个问题,我们可以讨论这个场景

相关内容

  • 没有找到相关文章

最新更新