JSON и схемы

Ключевое слово additionalProperties в JSON Schema: запрет лишних полей

По умолчанию объекты в JSON Schema разрешают любые дополнительные поля. Установите additionalProperties: false, чтобы отклонять неизвестные ключи.

Опубликовано

Запрет лишних полей

{
  "type": "object",
  "properties": {
    "name": { "type": "string" }
  },
  "required": ["name"],
  "additionalProperties": false
}

Проверьте пример

Проверьте дополнительное поле объекта

Создайте базовую схему по примеру с полем debug, прежде чем закрывать контракт.

{"name":"Alice","age":30,"debug":true}

Ожидаемый результат: Схема включает все наблюдаемые поля, а выбор политики остаётся явным.

Проверьте пример

Отклоните неизвестное поле debug

Используйте закрытую схему объекта и изучите ошибку дополнительного свойства.

additionalProperties: false
data: {name, age, debug}

Ожидаемый результат: Проверка отклоняет debug как дополнительное свойство.

Генератор схем

Настройка закрытой схемы объекта

Сгенерируйте схему объекта с флагом additionalProperties: false.

Открыть JSON to JSON Schema →