指导NJsonSchema处理自定义词典,如常规词典<string,something =“”>

时间:2016-11-08 20:22:11

标签: c# 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像ConfigDictionary<T>那样对待Dictionary<string, T>吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以编写一个类型映射器并在其中使用FromType:https://github.com/NJsonSchema/NJsonSchema/wiki/Type-Mappers

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