Ответ
JSON Schema — это стандарт (спецификация IETF) для описания структуры, валидации и документирования данных в формате JSON. Она определяет правила, которым должен соответствовать JSON-документ: типы данных, обязательные поля, диапазоны значений, форматы строк и вложенные объекты.
Зачем это нужно?
- Валидация данных: Проверка входящих запросов API и исходящих ответов.
- Документирование: Четкое описание формата данных для разработчиков.
- Генерация: Автоматическая генерация тестовых данных, форм или кода.
- IDE-подсказки: Улучшение автодополнения в редакторах кода.
Пример простой схемы (draft-07):
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name"],
"additionalProperties": false
}
Эта схема описывает объект, где:
name— обязательная строка.age— необязательное целое число, не меньше 0.- Запрещены любые другие поля (
additionalProperties: false).