JSON

JSON Schema Validator

Перевірка JSON-даних на відповідність JSON Schema (стиль draft-07) — з точним шляхом і поясненням для кожного порушення.


                        
                    

JSON Schema описує очікувану структуру JSON-документа — які поля обовʼязкові, якого вони типу, які обмеження на значення. Інструмент перевіряє конкретні дані проти такої схеми й показує точний шлях до кожного порушення.

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

Типові сценарії

Що варто памʼятати

JSON Schema має кілька версій (draft-07, 2019-09, 2020-12) з невеликими відмінностями в синтаксисі — перевіряйте, яку версію очікує ваш валідатор у продакшн-коді.

required перевіряє лише наявність поля, а не його значення — порожній рядок чи null усе одно вважається «наявним» полем, якщо тип це дозволяє.

Стаття про цей інструмент: JSON Schema: як описати й перевірити структуру JSON

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

Що означає помилка валідації?

Це означає, що значення за вказаним шляхом порушує якесь правило зі схеми: неправильний тип, відсутнє обов’язкове поле, невідповідність шаблону (pattern) або значення поза дозволеним діапазоном. Для кожної помилки показано точний шлях і пояснення.

Яку версію JSON Schema підтримує інструмент?

Валідація орієнтована на стиль draft-07 — найпоширеніший набір ключових слів (type, required, properties, pattern, minimum/maximum, enum тощо).

Чи безпечно перевіряти тут дані з продакшену?

Так, і схема, і дані обробляються повністю локально у браузері на JavaScript, без відправки на сервер.

Що робить additionalProperties: false?

За замовчуванням об’єкт може містити будь-які поля понад описані в properties. additionalProperties: false забороняє зайві поля — корисно, щоб зловити одруку в назві ключа чи випадково залишене debug-поле.

Чи можна описати поле, яке допускає кілька типів?

Так, через масив у type, наприклад "type": ["string", "null"], якщо поле може бути рядком або null. Для складніших варіантів використовують ключові слова oneOf, anyOf чи allOf.

Статті: JSON

JSON Formatter: форматування, мінімізація та валідація

Форматування для читабельності, мінімізація для розміру, валідація для коректності — три різні задачі з JSON.

JSONPath: як шукати дані у JSON без ручного парсингу

Як JSONPath дозволяє дістати потрібні значення з великого JSON одним виразом замість ручного обходу.

JSON Diff: чим структурне порівняння відрізняється від текстового

Чому порядок ключів не повинен впливати на порівняння двох JSON-документів.

JSON Flatten: перетворення вкладеної структури у плаский список

Як глибоко вкладений JSON перетворюється на плаский список ключів виду user.address.city.

JSON Sort Keys: навіщо сортувати ключі об’єкта

Чому порядок ключів у JSON не регламентований, але сортування все одно буває корисним.

JSON Repair: чому JSON ламається і як це виправити

Типові причини «поламаного» JSON і що автоматичний ремонт може, а що не може виправити.

Mock JSON Generator: навіщо потрібні фейкові дані

Як мок-дані дозволяють почати розробку інтерфейсу ще до того, як готовий бекенд.

JSON ↔ YAML/CSV/XML/TOML: коли і навіщо конвертувати

Які дані губляться при конвертації JSON в CSV і чому YAML та TOML популярні для конфігів.