Генератор JSON Schema
Створюйте JSON Schema draft-07 із зразка JSON локально. Безкоштовний генератор визначає типи, властивості, обов'язкові поля та схеми елементів масивів без завантаження даних.
🔒 Працює повністю у вашому браузері — нічого не завантажуєтьсяЩо робить Генератор 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, перевірте її на кількох реальних документах обраним валідатором: генерація в браузері найкраще підходить для швидкої та точної першої чернетки.
Як користуватися
- Вставте JSONДодайте репрезентативний об'єкт, масив або значення JSON.
- ЗгенеруйтеСтворіть схему draft-07, що описує зразок.
- Скопіюйте або завантажтеПерегляньте схему, а потім скопіюйте її або завантажте файл .json.