Схема Json - Использование перечислений с использованием ссылки

Я пытаюсь создать схему JSON для моего случая использования, где у меня есть перечисления для строки в отдельном файле, и я хочу сослаться на это из моей схемы. Как я могу этого достичь.

Пример схемы:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "card": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "value": {
                    "type": "string",
                    "enum": {"$ref" : "reference to a file having list of enums"}
                  //I want to refer to a specific enum array (say value1's array)
                }
            }
        }
    },
    "required": [
        "card"
    ]
}

Enums файл выглядит так:

{
"value1": [..],
"value2": [..]
....
}

1 ответ

Решение

$ref следует использовать только для ссылки на схемы. Итак, вы могли бы сделать что-то вроде этого.

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "card": {
            "type": "object",
            "properties": {
                "id": { "type": "integer" },
                "value": { "$ref" : "/schemas/valueEnum.json" }
            }
        }
    },
    "required": ["card"]
}

/schemas/valueEnum.json

{ "enum": ["foo", "bar"] }
Другие вопросы по тегам