Существует ли стандарт для указания версии для схемы json - PullRequest
0 голосов
/ 07 апреля 2020

Один из наших партнеров по разработке спросил, можем ли мы указать версию интерфейса в нашем JSON определении схемы. Нет ключа «$ version», поэтому существует признанный «стандарт», которому мы должны следовать (я не могу использовать $ id, поскольку мы используем $ ref в других местах, поэтому документ больше не будет проверяться). Мы находимся на драфте-6, поэтому $ комментарий не доступен как таковой. Валидация XML Шпион очень рад, что я добавил ключ «версия» на верхний уровень, так что я мог бы просто сделать это, но если есть более обычный подход, я бы предпочел сделать это.

1 Ответ

2 голосов
/ 07 апреля 2020

Не существует стандартного способа сделать это, определенного JSON Schema. Добавление ключей в схему разрешено, поскольку процессоры будут игнорировать неизвестные ключевые слова.

Я обычно советую использовать $id для управления версиями. Semanti c поддерживает версии как часть значения $ id. Вам нужно будет обновить свои ссылки, но тогда вы сможете убедиться в том, что соблюдаете некоторые ожидания.

Часто крупные проекты создают пакеты релизов, в которых группа схем размещается в соответствии со спецификацией. Например, Human Cell Atlas: https://schema.humancellatlas.org/a

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

...