JSON Diff и сравнение
Сравните два документа JSON и выделите добавленные, удалённые и изменённые пути ключей.
JSON Diff и сравнение — Вставьте два документа JSON рядом, и этот инструмент выполнит структурное сравнение по ключам, а не обычное построчное сравнение, поэтому переупорядоченные ключи и пробелы никогда не дадут ложных изменений. Каждое различие сообщается по его точному пути, например user.name или items[0], и помечается как добавленное, удалённое или изменённое. Всё разбирается и сравнивается полностью в вашем браузере, поэтому ваши данные никогда не покидают ваше устройство.
Что такое JSON Diff и сравнение?
JSON Diff — это бесплатный инструмент, работающий в браузере, который находит смысловые различия между двумя значениями JSON. Вместо построчного сравнения текста он обходит оба дерева и сопоставляет ключи по имени, а элементы массивов по индексу, сообщая о каждом изменении точечным путём вроде config.server.port или list[2]. Разработчики бэкенда и API используют его, чтобы точно увидеть, что изменилось между двумя ответами API, файлами конфигурации или тестовыми данными, а инженеры QA и аналитики данных применяют его, чтобы убедиться, что преобразование или миграция дали ожидаемый результат. Выберите стиль «Символы», чтобы читать изменения как строки + / - / ~, или стиль «Слова», чтобы помечать их как добавлено, удалено и изменено. Кнопка «Поменять местами» переставляет левый и правый ввод, так что вы можете смотреть на diff с любой стороны.
Как пользоваться JSON Diff и сравнение
- Вставьте исходный JSON в поле «Слева (оригинал)».
- Вставьте JSON, с которым хотите сравнить, в поле «Справа (изменённый)».
- Читайте diff в блоке результата, где каждая строка показывает изменённый путь и значение.
- С помощью настройки «Стиль» переключайтесь между символами + / - / ~ и словами добавлено / удалено / изменено.
- Нажмите «Поменять местами», чтобы поменять стороны, или «Копировать», чтобы получить полный отчёт о различиях.
Примеры
Изменилось одно значение
Ввод
Слева: {"name":"Ada","age":30}
Справа: {"name":"Ada","age":31}Вывод
~ age: 30 -> 31
Один ключ добавлен и один удалён
Ввод
Слева: {"a":1,"b":2}
Справа: {"a":1,"c":3}Вывод
- b: 2 + c: 3
Переупорядоченные ключи идентичны
Ввод
Слева: {"x":1,"y":2}
Справа: {"y":2,"x":1}Вывод
Различий нет - оба документа равны.
Часто задаваемые вопросы
- Отправляется ли мой JSON на сервер?
- Нет. Оба документа разбираются и сравниваются полностью в вашем браузере с помощью процедуры глубокого сравнения, которая выполняется на вашем устройстве. Ничего не загружается, и инструмент продолжает работать офлайн.
- Чем это отличается от обычного текстового сравнения?
- Текстовое сравнение сопоставляет строки, поэтому переформатирование или переупорядочивание ключей выглядит как изменение. Этот инструмент сравнивает разобранную структуру, сопоставляя ключи объектов по имени, а элементы массивов по позиции, поэтому сообщает только о настоящих смысловых различиях.
- Важен ли порядок ключей?
- Нет. Два объекта с одинаковыми ключами и значениями считаются равными независимо от порядка, в котором появляются ключи. Однако элементы массива сравниваются по индексу, поэтому переупорядочивание массива считается изменением.
- Что означает каждая строка?
- Добавленные пути существуют только справа, удалённые пути — только слева, а изменённые пути имеют разные значения с каждой стороны. В стиле «Символы» они отображаются как +, - и ~; в стиле «Слова» они записываются словами.
- Что произойдёт, если мой JSON недействителен?
- Если одна из сторон не разбирается, сообщение об ошибке укажет, какая сторона (левая или правая) недействительна, чтобы вы могли её исправить. Diff обновляется автоматически, как только обе стороны разбираются без ошибок.
Похожие инструменты
Кодирование / декодирование Base32 / Base58
Кодируйте текст в Base32 (RFC 4648) или Base58 (алфавит Bitcoin) и декодируйте оба формата обратно в текст — полностью безопасно для UTF-8 и целиком в вашем браузере.
Кодирование / декодирование Base64
Кодируйте или декодируйте Base64 (безопасно для UTF-8): URL-безопасный алфавит, необязательное заполнение, перенос 64/76, счётчики байтов и символов и просмотр байтов в hex или двоичном виде.
Конвертер регистра и счётчик
Преобразуйте текст между UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case и другими форматами и считайте символы, слова и строки.
Форматер и минификатор кода
Мгновенно форматируйте или минифицируйте HTML, CSS и JavaScript прямо в браузере с отступом в 2 пробела, 4 пробела или табуляцию и сжатием JavaScript на основе Terser.