Конструктор и проверка JSON Schema

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

Рабочая область

Обработка на устройстве. Файлы и текст не отправляются в аналитику. Ctrl/Cmd+Enter — запуск.

Загрузка локальной обработки…

Настройки

Настройки содержат параметры, без исходных файлов. Автоматического сохранения нет.

Метод и ограничения

Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются. Вывод схемы по образцам не доказывает реальный контракт.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Методика и примеры

Конструктор и проверка JSON Schema

Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются. Вывод схемы по образцам не доказывает реальный контракт.

Входные данные примера

Основной источник

[
  {
    "id": 1,
    "name": "Синтетический пример",
    "active": true
  },
  {
    "id": "2",
    "name": "X",
    "extra": "лишнее"
  }
]

Второй источник

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "minLength": 2
    },
    "active": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false
}

Результат примера

samplepathkeywordmessage
2/idtypeОжидался integer, получен string
2/nameminLengthСлишком короткая строка
2/extraadditionalPropertiesЛишнее поле

Показано строк: 3 из 3.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Проверка контракта API по примерам

Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются.

Входные данные примера

Основной источник

[
  {
    "id": 1,
    "name": "Синтетический пример",
    "active": true
  },
  {
    "id": "2",
    "name": "X",
    "extra": "лишнее"
  }
]

Второй источник

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "minLength": 2
    },
    "active": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false
}

Результат примера

samplepathkeywordmessage
2/idtypeОжидался integer, получен string
2/nameminLengthСлишком короткая строка
2/extraadditionalPropertiesЛишнее поле

Показано строк: 3 из 3.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Синхронизация примеров и JSON Schema

Проверяет ограниченный профиль JSON Schema локальным интерпретатором без eval и сети. Поддерживает type, свойства, обязательность, диапазоны, enum, локальные $ref и комбинации. Неизвестные конструкции отклоняются. Экспортирует регрессионный набор и частоты ошибок.

Входные данные примера

Основной источник

[
  {
    "id": 1,
    "name": "Синтетический пример",
    "active": true
  },
  {
    "id": "2",
    "name": "X",
    "extra": "лишнее"
  }
]

Второй источник

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "minLength": 2
    },
    "active": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "additionalProperties": false
}

Результат примера

samplepathkeywordmessage
2/idtypeОжидался integer, получен string
2/nameminLengthСлишком короткая строка
2/extraadditionalPropertiesЛишнее поле

Показано строк: 3 из 3.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Источники метода

Следующая задача