Вычислитель отличий – программа, определяющая разницу между двумя структурами данных.
Это популярная задача, для решения которой существует множество онлайн-сервисов, например: http://www.jsondiff.com/.
Подобный механизм используется при выводе тестов или при автоматическом отслеживании изменении в конфигурационных файлах.
Поддержка разных входных форматов: yaml и json
Генерация отчета в виде plain text, stylish и json
git clone [email protected]:ppeter777/java-project-71.git
cd java-project-71/app
make install
Сравнение файлов JSON:
./build/install/app/bin/app filepath1.json filepath2.json
Сравнение файлов yaml:
./build/install/app/bin/app filepath1.yaml filepath2.yaml
По умолчанию вывод результата сравнения производится в формате stylish.
Вывод результата сравнения в формате plain:
./build/install/app/bin/app -f plain filepath1 filepath2
Вывод результата сравнения в формате json:
./build/install/app/bin/app -f json filepath1 filepath2
./build/install/app/bin/app -h
Вывод справки (шаг 4):
https://asciinema.org/a/bBWn4RlvcsDFN8FTI5WhfrpI6
Сравнение плоских файлов JSON (шаг 5):
https://asciinema.org/a/jQkaVWfDj2EzOWWXKHEh8HMs9
Сравнение плоских файлов yaml (шаг7):
https://asciinema.org/a/yFLcW3B7UngZOlq4qUMp9Fc0h
Сравнение файлов JSON, имеющих вложенные структуры (шаг 8):
https://asciinema.org/a/tLoqIe46XJgfdmEQbQyyyDT26
Сравнение файлов yaml, имеющих вложенные структуры (шаг 8):
https://asciinema.org/a/7J6O8BrMYSfcGQfBsKDihqyXG
Вывод результата сравнения в формате plain (шаг 9):
https://asciinema.org/a/4A8L3xcV9mugWPBgIkYPzfehl
Вывод результата сравнения в формате json (шаг 10):
https://asciinema.org/a/CYrNoCiBBQIvLOBb5dsXAh26v