Является ли способ проверки ссылок на объекты в JSON с помощью схемы JSON?

Давайте возьмем простой пример, когда мы определяем объекты и используем их отдельно в JSON. Например, мы определяем несколько адресов и используем их для определения нескольких маршрутов:

{
    "points": [
        {
            "Name": "p1",
            "Street": "street1",
            "House": 11,
            "Ap": 111
        },
        {
            "Name": "p2",
            "Street": "street2",
            "House": 22,
            "Ap": 222
        },
        {
            "Name": "p3",
            "Street": "street3",
            "House": 33,
            "Ap": 333
        },
        {
            "Name": "p4",
            "Street": "street4",
            "House": 44,
            "Ap": 444
        },
        {
            "Name": "p5",
            "Street": "street5",
            "House": 55,
            "Ap": 555
        }

    ],
    "routes": [
        [
            "p1",
            "p2",
            "p3",
            "p4"
        ],
        [
            "p3",
            "p2",
            "p1"            
        ],
        [
            "p4",
            "p2",
            "p3",
            "p1"
        ]
    ]
}

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


person Oleg Nikitin    schedule 04.08.2020    source источник
comment
Привет Олег. Это интересный случай, потому что вы представляете структуру графа в формате JSON. Я не думаю, что можно проверить ссылки с маршрутов на точки (при условии, что у вас может быть произвольное количество точек). Вы можете определить регулярное выражение, но, конечно, это только улавливает некоторые ошибки.   -  person aeberhart    schedule 05.08.2020
comment
Нет, это невозможно. Вы должны сделать это в коде.   -  person tom redfern    schedule 05.08.2020


Ответы (1)


Вы не можете использовать схему JSON для проверки реляционных данных, представленных в JSON, на наличие ссылочной целостности.

person Relequestual    schedule 05.08.2020
comment
Спасибо. Думаю, я получил тот же ответ. На самом деле я нашел несколько дискуссий от 2016 года о введении ключевого слова «$ data» для этой цели, но, по-видимому, оно не было включено в стандарт. - person Oleg Nikitin; 05.08.2020
comment
В прошлом году мы выпустили проект схемы JSON 2019-09. Мы представили концепцию словарей, которая позже может привести к тому, что вы сможете делать то, что вы просите, или что-то вроде $data, но не сейчас. - person Relequestual; 05.08.2020