значение ключа A равно значению ключа B в JSONschema - PullRequest
0 голосов
/ 17 марта 2020

Для {keyA:valueA},{KeyB:valueB} Можно ли определить в схеме, valueB должно равняться valueA. Другими словами, копирование ValueA в ValueB?

Я понимаю, что это вызывает дублирование. Но для соответствия различным стандартам должны использоваться два разных ключа.

Например, я хочу использовать name как sample name в схеме ниже.

Схема

{
    "$id": "sampleSchema",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
        "name": {
            "type": "string"
        },
        "sample name":{
            "type":"string"
        },
    }
}

Данные будут выглядеть так:

{
 "name":"example1",
 "sample name":"example1"
}

1 Ответ

0 голосов
/ 17 марта 2020

JSON Схема не поддерживает подобные операции.

Мы называем это «проверкой согласованности данных», поскольку она проверяет, что данные в одном месте согласованы в соответствии с тем, как они определены в другом location.

Поддержка этих типов операций будет очень сложной. Вероятно, потребуется язык программирования общего назначения для поддержки большинства случаев, которые люди хотели бы видеть.

Для получения дополнительной информации см. Область действия JSON Проверка схемы .

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

...