25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# 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
|
||
``` |