json-canonicalizer/README.md

25 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# json-canonicalizer
## Расширенный каноникализатор JSON
Получает JSON на консольный вход, каноникализирует его и выдаёт на консольный выход.
Выполняет:
- структурное форматирование JSON, переданного однострочно;
- сортировку свойств объекта по имени;
- если все элементы списка являются объектами и имеют свойства "id" либо при его отсутствии "guid", сортирует список по id ?: guid.
## Предназначение
Служит фильтром для использования в репозитории Git, предназначенном для сравнения сериализованных в JSON объектов.
Для использования репозиторий следует настроить следующим образом:
```bash
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
```