Документация / JSON Schema
Форматы и данные не в JSON
format
format задаёт семантический формат строки: дата, email, UUID. По стандарту 2020-12 format — аннотация:
валидатор не обязан его проверять. На практике большинство инструментов проверяет форматы, если это включено
(редактор «Помощника SA» проверяет).
| Формат | Пример | Значение |
|---|---|---|
date-time | 2026-09-30T12:00:00+03:00 | Дата и время по RFC 3339 |
date | 2026-09-30 | Дата |
time | 12:00:00+03:00 | Время с часовым поясом |
duration | P3DT4H | Длительность ISO 8601 |
email, idn-email | ivan@example.com | Адрес электронной почты |
hostname, idn-hostname | helper-sa.ru | Имя хоста |
ipv4, ipv6 | 192.168.0.1 | IP-адрес |
uri, uri-reference, iri | https://example.com/a?b=1 | URI и относительные ссылки |
uuid | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | UUID |
regex | ^\d+$ | Регулярное выражение |
json-pointer | /items/0/name | JSON Pointer |
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"createdAt": { "type": "string", "format": "date-time" },
"site": { "type": "string", "format": "uri" }
}
}
{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2026-09-30T12:00:00+03:00", "site": "https://helper-sa.ru" }
{ "createdAt": "30.09.2026" }
Если формат важен для бизнеса, дублируйте его шаблоном pattern или используйте строгий валидатор — тогда проверка
не зависит от настроек инструмента.
Данные не в JSON
Иногда в строке передают данные другого формата: картинку в Base64, вложенный JSON-документ, XML. Для их описания есть три аннотации:
contentEncoding— как закодированы двоичные данные:base64,base16,base32;contentMediaType— тип содержимого:image/png,application/json,text/html;contentSchema— схема для содержимого, если оно JSON.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"avatar": {
"type": "string",
"contentEncoding": "base64",
"contentMediaType": "image/png"
},
"payload": {
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "object",
"required": ["event"]
}
}
}
}
Эти ключевые слова — аннотации: валидаторы обычно не декодируют содержимое, а приложения используют их, чтобы правильно обработать строку.
Похожие инструменты
Обновлено: 30 сентября 2026 г.
