Перейти до вмісту

Генератор JSON Schema

Створіть JSON Schema з прикладу JSON-документа, включаючи типи, вкладені об'єкти та формати.

Введення
Вихід

Генератор JSON Schema

Вставте приклад JSON-документа — відповідь API, файл конфігурації, експорт бази даних — і цей інструмент автоматично виведе JSON Schema, яка описує його структуру: тип кожного поля, які з них є вкладеними об'єктами або масивами, та як вони пов'язані. Це швидкий спосіб створити валідацію для корисного навантаження, яке у вас вже є, без необхідності вручну писати кожну властивість.

Виберіть версію схеми, яку очікує ваш інструмент: draft-07 або 2020-12. Позначте кожний ключ як обов'язковий або залиште схему відкритою без списку обов'язкових полів. Забороніть додаткові властивості, щоб помітити помилки введення та несподівані поля, або визначте формати, такі як email, URI, UUID та дата-час, прямо з значень прикладу. Увімкнення обмежень по довжині та діапазону додасть minLength/maxLength та minimum/maximum межі, взяті безпосередньо з введених даних, а додавання описів з імен полів перетворить "firstName" на опис природною мовою автоматично. Якщо в прикладі є глибоко вкладені об'єкти, вилучення визначень перемістить кожну вкладену форму в окремий повторно використовуваний запис замість вбудовування її скрізь, де вона використовується.

Якщо у вас є кілька прикладів одного запису, вставте одне значення JSON на рядок і включіть об'єднання кількох прикладів: інструмент об'єднає їх в одну схему, яка відображає об'єднання всіх полів та типів, які він побачив, замість створення схеми лише для першого прикладу. Інструмент приймає як Windows, так і Unix кінці рядків, і лічильник під результатом показує, скільки властивостей він виявив під час введення.

Усе працює локально у вашому браузері: ваш JSON ніколи не завантажується та не відправляється на сервер. Скопіюйте створену схему, завантажте її як файл .txt або відправте результат прямо назад у введення для подальшого уточнення.

FAQ

Яка різниця між draft-07 та 2020-12?
Обидві версії JSON Schema мають дещо відмінні імена ключових слів — наприклад 2020-12 використовує $defs, де draft-07 використовує definitions. Виберіть версію, яку очікує ваш валідатор або інструмент.
Чи можу я створити схему з більш ніж одного прикладу?
Так. Включіть об'єднання кількох прикладів і вставте одне значення JSON на рядок — інструмент об'єднає їх в одну схему, яка охоплює всі поля та типи, які він побачив.
Це угадує формати, такі як email або UUID?
Коли включено визначення формату, рядкові значення, які відповідають відомій схемі — адреса email, URI, UUID або дата-час ISO — отримують відповідне ключове слово формату, але лише якщо кожне значення прикладу для цього поля узгоджується.
Схема відклонить поля, які я не включив у свій приклад?
Лише якщо ви включите "Заборонити додаткові властивості". За замовчуванням схема описує лише те, що вона бачила, і дозволяє додаткові поля.
Мій JSON завантажується куди-то?
Ні. Створення схеми працює повністю у вашому браузері — ваш JSON ніколи не залишає ваш пристрій.