Краткий ответ
JSON Schema описывает допустимую структуру, типы и ограничения JSON-документа. AppKiro выводит схему из примера и предлагает несколько draft-версий, но optional, union, форматы и бизнес-правила нужно проверить вручную.
Выберите dialect, сгенерируйте основу и проверьте её целевым validator.
Входной JSON
Выходная JSON Schema
1{2"$schema": "http://json-schema.org/draft-07/schema#",3"type": "object",4"properties": {5"user": {6"type": "object",7"properties": {8"id": {9"type": "integer",10"examples": [11112],13"description": "Id field."14},15"name": {16"type": "string",17"examples": [18"John"19],20"description": "Name field."21},22"email": {23"type": "string",24"format": "email",25"examples": [26"[email protected]"27],28"description": "Email field."29},30"isActive": {31"type": "boolean",32"examples": [33true34],35"description": "IsActive field."36},37"roles": {38"type": "array",39"items": {40"anyOf": [41{42"type": "string",43"examples": [44"admin"45]46},47{48"type": "string",49"examples": [50"editor"51]52}53]54},55"examples": [56[57"admin",58"editor"59]60],61"description": "Roles field."62},63"profile": {64"type": "object",65"properties": {66"age": {67"type": "integer",68"examples": [693070],71"description": "Age field."72},73"address": {74"type": "object",75"properties": {76"city": {77"type": "string",78"examples": [79"New York"80],81"description": "City field."82},83"zip": {84"type": "string",85"examples": [86"10001"87],88"description": "Zip field."89}90},91"required": [92"city",93"zip"94],95"description": "Address field."96}97},98"required": [99"age",100"address"101],102"description": "Profile field."103},104"lastLogin": {105"type": "string",106"format": "date-time",107"examples": [108"2024-03-18T10:24:00Z"109],110"description": "LastLogin field."111},112"homepage": {113"type": "string",114"format": "uri",115"examples": [116"https://example.com"117],118"description": "Homepage field."119}120},121"required": [122"id",123"name",124"email",125"isActive",126"roles",127"profile",128"lastLogin",129"homepage"130],131"description": "User field."132}133},134"required": [135"user"136]137}
Как пользоваться
- Вставьте/загрузите JSON или откройте поддерживаемый публичный пример.
- Выберите Draft 4, 6, 7, 2019-09 или 2020-12 и настройте type mapping, required, descriptions, examples, const, null и порядок.
- Проверьте raw/tree output в целевом validator и доработайте схему по реальным кейсам.
Основные функции и настройки
- Выбор draft от 4 до 2020-12 в текущем интерфейсе.
- Настройка type mapping, descriptions и examples.
- Правила required, const и nullable/null.
- Raw и tree preview, копирование и скачивание.
Поддерживаемый ввод и вывод
Вход: текст или файл JSON, поддерживаемый публичный URL. Выход: текст или файл JSON Schema.
Сценарии использования
- Создание стартовой schema для API payload.
- Документирование структуры конфигурации или события.
- Сравнение вариантов dialect перед интеграцией validator.
Какой процесс выбрать?
Используйте Генератор JSON Schema, когда нужно: Выбор draft от 4 до 2020-12 в текущем интерфейсе. Используйте Генератор Function Calling Schema, когда нужно: Текущие цели интерфейса: OpenAI, Claude и Gemini.
Конфиденциальность и путь данных
В текущей реализации вставленные/загруженные данные обрабатываются в браузере, а «Extract from URL» получает источник через серверный proxy.
Ограничения и устранение ошибок
- OpenAPI 3.1 использует семантику JSON Schema Draft 2020-12; выбирайте dialect, который поддерживает целевой toolchain.
- Один пример не выявляет optional properties, все union cases, formats и ограничения значений.
- Текущий интерфейс показывает лимит ввода 5 MB.
FAQ
Какой draft JSON Schema выбрать?
Выбирайте dialect, который явно поддерживают ваш validator, OpenAPI-инструментарий и потребители schema. Для нового независимого проекта 2020-12 часто является актуальной отправной точкой, но совместимость нужно проверить.
Передаются ли данные на сервер?
В текущей реализации вставленные/загруженные данные обрабатываются в браузере, а «Extract from URL» получает источник через серверный proxy.
Каковы ограничения файла или данных?
Текущий интерфейс показывает лимит ввода 5 MB.
Работает ли инструмент на телефоне?
Это веб-инструмент, который может работать в современном мобильном браузере, но выбор файлов, память и совместимость не проверены на каждом устройстве. Для больших или сложных данных используйте настольный браузер.
Какой процесс выбрать?
Используйте Генератор JSON Schema, когда нужно: Выбор draft от 4 до 2020-12 в текущем интерфейсе. Используйте Генератор Function Calling Schema, когда нужно: Текущие цели интерфейса: OpenAI, Claude и Gemini.
Связанные инструменты
Выберите dialect, сгенерируйте основу и проверьте её целевым validator.