Использование RegExp в JSON Schema

421
19 января 2017, 01:57

Имеется JSON Schema, которая описывает массив директорий в JSON файле. Директории могут содержать абсолютные локальные пути, либо быть в UNC формате (Long UNC не должно поддерживаться). Файл JSON проверяется на соответствие этой схеме с помощью библиотеки Json.NET Schema Я понял, что скорее всего нужно использовать регулярные выражения и oneOf с defenitions, но не могу составить рабочий вариант RegExp.

Сейчас используется вариант представленный ниже, но как вы уже поняли он проверяет лишь начальные символы строки, а не всю строку на соответствие синтаксису.
Здесь можно опробовать схему.

JSON Schema

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "dirs": {
            "type": "array",
            "minItems": 1,
            "maxItems": 999,
            "uniqueItems": true,
            "items": {
                "oneOf" : [
                    { "$ref": "#/definitions/localPath" },
                    { "$ref": "#/definitions/uncPath" }
                ]
            }
        }
    },
    "definitions": {
        "localPath": {
            "type": "string",
            "pattern": "^[a-zA-Z]\\:\\\\.*$"
        },
        "uncPath" : {
          "type":"string",
            "pattern" : "^\\\\[a-zA-Z].*$"
        }
    },
    "additionalProperties": false,
    "required": ["dirs"]
}

JSON

{
  "dirs": [
    "D:\\Users\\John.Doe\\Desktop",
    "\\Server\\Share-Folder\\Folder"
  ]
}
READ ALSO
Как распарсить BBCODE

Как распарсить BBCODE

Всем приветПодскажите как распарсить BBCODE, пример

421
Не сохраняются cookies

Не сохраняются cookies

Не сохраняются cookies, когда перехожу между страницамиПодскажите, пожалуйста, что не так

429
Как получить ответ через POST с помощью CURL?

Как получить ответ через POST с помощью CURL?

Здравствуйте! Нужно получить данные праздников, которые приходят с сервера через AjaxСайт https://www

575