Выберите потребителя
Начальный режим — старые данные → новая схема. Обратный режим нужен, если старый клиент прочитает новые сообщения.
Схемы и типы
Вставьте старую и новую JSON Schema или загрузите пример; затем задайте направление от производителя к потребителю.
Обе схемы обрабатываются в браузере. Данные не отправляются, URL ссылок не запрашиваются.
Всё готово к ручной проверке.
Сохранённые записи ещё соответствуют старому контракту, когда новый сервис уже готов читать их. Сравнение JSON-схем показывает сдвиг ограничений, а не только разницу строк.
Если старый потребитель получит новые данные, направление нужно поменять. Сравнение JSON-схем отделяет добавление необязательного поля от нового требования required.
Одна правка может быть рискованной лишь в одном направлении.
По умолчанию старые записи проверяются новым контрактом. Обратный режим показывает риск для потребителя, который ещё не обновился.
Сравнение JSON-схем оставляет пути $ref и составных условий для ручной проверки, не объявляя их безопасными без анализа.
Начальный режим — старые данные → новая схема. Обратный режим нужен, если старый клиент прочитает новые сообщения.
Имя обязательного поля видно под /required, изменение типа — в /properties. Фильтр риска сохраняет пункты ручной проверки.
Правка схемы или направления делает старый результат недоступным для копирования. Повторите запуск сочетанием Ctrl/Cmd+Enter.
Изменения JSON Schema включают required, обязательные поля и множество допустимых типов. Новое обязательное поле может исключить старые записи.
Обратная совместимость зависит также от enum и ограничений длины, числа и количества. Одна перестановка значений enum не считается правкой.
Совместимость схем обсуждать проще, когда указаны JSON Pointer, старое и новое значение, а также уровень риска. Полный отчёт скачивается как JSON.
Есть структурное сравнение с тремя направлениями потока данных; текстового режима здесь нет.
Да. Перестановка ключей объекта и элементов required или enum не создаёт новую разницу, если состав не меняется.
$ref указан как путь ручной проверки, но цель ссылки не разрешается и не загружается.
additionalProperties: false запрещает свойства, не охваченные properties и patternProperties в том же объекте схемы. Направление изменения влияет на риск.
Нет. Оба текста остаются в браузере; предел — 500 тысяч символов на ввод и миллион суммарно.
Есть случай, который стоит проверить?
Поставьте рядом две версии, выберите направление данных и сохраните отчёт. Сравнение JSON-схем помогает подготовить обсуждение релиза без ложной гарантии.