我想使用njsonschema生成一个架构,以确保所有写入字典的值都将根据正则表达式模式进行验证。

考虑以下类别:

class File
{
    [RegularExpression("^\\d+\\.\\d+\\.\\d+\\.\\d+$")]
    public Dictionary<string, string> Versions { get; set; }
}


我希望njsonschema会生成的架构部分是:

"Versions": {
    "type": "object",
    "additionalProperties": {
        "type": "string",
        "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$"
    }
}


立刻,njsonschema会生成如下内容:

"Versions": {
  "type": "object",
  "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$",
  "additionalProperties": {
    "type": "string"
  }
}


有什么办法可以做到这一点?

提前致谢!

最佳答案

此提交已解决此问题:

https://github.com/RSuter/NJsonSchema/commit/fa1b36b68bb5ad7ec005b2a77002a5668d1aa2b4

具有此修复程序的NJsonSchema(v9.4.4 +)版本已发布...

关于c# - 如何在字典值上强制使用正则表达式模式(njsonschema),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45014613/

10-12 04:57