>_ IzzyLab

Практическое задание

jq: слей два объекта

средне

Есть базовый конфиг /root/base.json и переопределения /root/override.json. Слей их в один объект так, чтобы значения из override.json побеждали при совпадении ключей, и запиши результат в /root/merged.json.

Что потренируешь:
  • jq
  • слияние json
  • рекурсивное слияние
  • slurp
  • конфиги

Разбор темы

Наложение переопределений на базовый конфиг — типичная задача при работе с настройками: берём общие значения и точечно перекрываем их окружением. В jq два объекта можно объединить рекурсивно, и при конфликте ключей побеждает тот операнд, что стоит определённой стороной, — поэтому исход целиком зависит от порядка операндов. Чтобы обоим входным документам оказаться доступными одному фильтру, их «сглатывают» в общий массив (режим slurp), после чего элементы этого массива комбинируют.

Что проверяется

  1. объекты слиты, override победил

Как это выглядит