Skip to main content
appkiro.com

Генератор JSON Schema из JSON

Получите черновую JSON Schema из наблюдаемого payload и выберите dialect, который поддерживает ваш validator или API-стек. Не принимайте вывод по одному примеру за полный контракт.

Краткий ответ

JSON Schema описывает допустимую структуру, типы и ограничения JSON-документа. AppKiro выводит схему из примера и предлагает несколько draft-версий, но optional, union, форматы и бизнес-правила нужно проверить вручную.

Выберите dialect, сгенерируйте основу и проверьте её целевым validator.

1

Входной JSON

Пример JSON загружен.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2

Выходная 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": [11            112          ],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": [33            true34          ],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": [69                3070              ],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}

Как пользоваться

  1. Вставьте/загрузите JSON или откройте поддерживаемый публичный пример.
  2. Выберите Draft 4, 6, 7, 2019-09 или 2020-12 и настройте type mapping, required, descriptions, examples, const, null и порядок.
  3. Проверьте 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.