Объединить два объекта JSON

Дополните объект ключами второго с явной заменой совпадений.

Открыть файл UTF-8

Можно перетащить файл сюда

JSONNDJSONJSONLTXT

Один файл до 1 МиБ, текст до 200 000 символов. Можно вставить данные в поле ниже.

Поверхностное объединение: значение второго объекта заменяет совпадающее первое целиком. Вложенные объекты и массивы не объединяются.

Обработка в браузере. До 64 уровней и 30 000 значений JSON. Повторяющиеся ключи и числа с потерей точности отклоняются. После обновления страницы редактор сбросится.

Результат

Вставьте данные или выберите пример. После обработки проверьте результат и скачайте файл.

Данные остаются на вашем устройстве.

Как пользоваться

Объект с ключами обоих исходников; второй объект имеет приоритет при совпадении.

  1. Вставьте первый и второй JSON-объекты в отдельные поля.
  2. Объедините объекты и проверьте предупреждение о совпадающих ключах.
  3. Сравните вложенные значения и скачайте результат.

Пример

Объединить два объекта JSON

Исходные данные
Первый: {"тема":"светлая","язык":"ru"}. Второй: {"тема":"тёмная"}.

Объедините с приоритетом второго объекта.

Что получится
{"тема":"тёмная","язык":"ru"}
Форматы и ограничения

Дополните настройки или набор полей данными второго объекта. Объединение поверхностное: при одинаковом имени ключа правое значение заменяет левое целиком, включая вложенный объект или массив.

На входе
JSON UTF-8
Результат
JSON

Объект с ключами обоих исходников; второй объект имеет приоритет при совпадении.

  • Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ.
  • Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов.
  • Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.

Вложенные объекты не объединяются по полям, массивы не складываются. При совпадении проверьте предупреждение и полный предпросмотр.

Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются.

Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются. Вложенные объекты не объединяются по полям, массивы не складываются. При совпадении проверьте предупреждение и полный предпросмотр. Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ. Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов. Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.

Вопросы об инструменте

Какой объект получает приоритет?

Второй. Если ключ есть в обоих объектах, его значение из первого заменяется значением из второго целиком.

Объединятся ли поля вложенных объектов?

Нет. Например, {"a":{"x":1}} и {"a":{"y":2}} дают {"a":{"y":2}}. Поле x не переносится.

Будут ли соединены массивы при совпадении ключа?

Нет. Массив второго объекта целиком заменяет первый массив. Объединение элементов и удаление повторов не выполняются.

Можно ли передать массив в корне?

Нет. Оба корня должны быть объектами JSON. Значения их полей могут быть массивами, скалярами или другими объектами.

Что означает количество замен в предупреждении?

Это число корневых ключей, которые присутствуют в обоих объектах. Они считаются заменёнными даже при одинаковых значениях.

Удалит ли значение null поле из первого объекта?

Нет. Во втором объекте null становится обычным значением результирующего поля. Это не операция JSON Merge Patch.

Разобраться в задаче

Все инструкции
Данные и полезное5 мин

Как подготовить JSON-настройки, строки и параметры URL для API

Проверьте приоритет объединения, сортировку ключей, JSON-экранирование и повторяющиеся параметры URL без автоматического изменения типов.

Читать инструкцию