Как заставить шаблон регулярных выражений на значения словаря (njsonschema)

Используя 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+$"
    }
}

Instaed, njsonschema генерирует что-то вроде этого:

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

Есть ли способ добиться этого?

Заранее спасибо!

1 ответ

Эта проблема была исправлена ​​в этом коммите:

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

Выпущена версия NJsonSchema (v9.4.4+) с этим исправлением...

Другие вопросы по тегам