DT Dev Tools

Генератор JSON Schema

Створюйте JSON Schema draft-07 із зразка JSON локально. Безкоштовний генератор визначає типи, властивості, обов'язкові поля та схеми елементів масивів без завантаження даних.

🔒 Працює повністю у вашому браузері — нічого не завантажується

Advertisement

Що робить Генератор JSON Schema

Генератор JSON Schema читає зразок JSON і створює схему draft-07, яка перевіряє документи з такою самою структурою. Він рекурсивно обходить значення: об'єкти стають схемою з мапою properties і масивом required, масиви стають схемою з визначенням items, а примітивні значення описуються відповідним type з JSON Schema. Результат — портативний контракт, який можна використати в документації API, проміжному ПЗ для перевірки запитів, завантажувачах конфігурації, контрактних тестах або в інструментах редактора, що пропонують автодоповнення та перевірку на льоту на основі схеми.

Масиви узагальнюються, а не перелічуються. Коли масив містить об'єкти, усі елементи об'єднуються, щоб згенерована схема items охоплювала об'єднання ключів, а ключ, якого немає в деяких елементах, вилучається зі списку обов'язкових. Коли масив змішує примітивні типи, генератор створює anyOf, щоб кожен зафіксований тип залишався коректним. Генерація зі зразка — найшвидший спосіб створити основу схеми, яку потім доопрацьовують вручну, замість того щоб писати вкладені визначення типів з нуля.

Приватний робочий процес у браузері

Увесь розбір і побудова схеми відбуваються у вашому браузері за допомогою клієнтського JavaScript. Інструмент не завантажує ваш JSON, відповіді API, конфігурацію, ідентифікатори чи зразки, схожі на дані клієнтів, на сервер і не потребує облікового запису. Така суто локальна робота важлива, бо вхідні дані генератора схем часто є реальним навантаженням, захопленим під час налагодження сервісу. Робота на вашому комп'ютері знижує ризики та робить результат миттєвим, адже нічого не залишає сторінку.

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

Практичні поради

Використовуйте найповніший доступний зразок із заповненими необов'язковими полями та масивами з кількома елементами, щоб логіка об'єднання могла точно описати об'єднання типів. Після генерації доопрацюйте схему: додайте ключові слова format, як-от email, uri чи date-time, де це доречно, додайте списки enum для полів із фіксованим набором значень, задайте minimum і maximum для чисел та приберіть із масиву required поля, які можуть законно бути відсутніми. Перш ніж застосовувати схему у production, перевірте її на кількох реальних документах обраним валідатором: генерація в браузері найкраще підходить для швидкої та точної першої чернетки.

Як користуватися

  1. Вставте JSONДодайте репрезентативний об'єкт, масив або значення JSON.
  2. ЗгенеруйтеСтворіть схему draft-07, що описує зразок.
  3. Скопіюйте або завантажтеПерегляньте схему, а потім скопіюйте її або завантажте файл .json.

Часті запитання

Яка версія JSON Schema створюється?
Генератор створює схеми draft-07 з відповідним ідентифікатором $schema.
Як визначаються обов'язкові властивості?
Кожен ключ, присутній у зразку об'єкта, заноситься до обов'язкових. Видаліть із масиву required ключі, які є необов'язковими.
Чи завантажується мій JSON?
Ні. Генерація схеми повністю виконується у вашому браузері за допомогою клієнтського JavaScript.
Advertisement