Расширенный каноникализатор JSON
| JsonCanicalizer.Test | ||
| JsonCanonicalizer | ||
| JsonCanonicalizer.BL | ||
| .gitignore | ||
| JsonCanonicalizer.sln | ||
| nuget.config | ||
| README.md | ||
json-canonicalizer
Расширенный каноникализатор JSON
Получает JSON на консольный вход, каноникализирует его и выдаёт на консольный выход.
Выполняет:
- структурное форматирование JSON, переданного однострочно;
- сортировку свойств объекта по имени;
- если все элементы списка являются объектами и имеют свойства "id" либо при его отсутствии "guid", сортирует список по id ?: guid.
Предназначение
Служит фильтром для использования в репозитории Git, предназначенном для сравнения сериализованных в JSON объектов.
Для использования репозиторий следует настроить следующим образом:
git config filter.json-canonical.clean "путь/JsonCanonicalizer.exe"
git config filter.json-canonical.smudge "cat"
git config filter.json-canonical.required true
и в .gitattributes прописать
*.json filter=json-canonical