Как проверить пользовательские типы в схеме JSON? - PullRequest
0 голосов
/ 25 июня 2019

Схема JSON поддерживает числовой тип с числом и числом. У меня есть схема, которая определяет тип как «двойной» «плавать». Я использую AJV в javascript для проверки схемы, но она не работает из-за вышеуказанного ограничения. Можно ли как-то проверить типы типа double и float?

Обратите внимание - Я хочу проверить 2 вещи - 1. JSON-схема 2. JSON против схемы JSON

Я застрял на 1

Я попытался добавить пользовательское ключевое слово в AJV, но оно не совпадает с типом по умолчанию

Моя схема говорит

"lineSpacing": {
          "type": "double",
          "description": "Spacing between two lines"
        },

Компиляция AJV должна позволять удваивать как тип. Как этого добиться? Я скучаю по чему-то очень простому? Любое другое решение, другие языки тоже будут работать.

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Сначала я не понял, почему вы хотите определить "double" в своей схеме, потому что тип "double" означает, что вы хотите присвоить любое десятичное значение, например (10.02), но схема JSON имеет тип "number", где Вы можете определить любые десятичные, положительные или отрицательные значения. пример ниже -

1.20     // correct
-1      // correct
200    // correct 
"42"  // wrong, because type is string, if it's inside double quotes
0 голосов
/ 26 июня 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...