diff --git a/JsonCanicalizer.Test/result.json b/JsonCanicalizer.Test/result.json index 589243f..0ee650a 100644 --- a/JsonCanicalizer.Test/result.json +++ b/JsonCanicalizer.Test/result.json @@ -1,49 +1,39 @@ { "serviceTasks": [ - { - "guid": "07e607a8-7673-458f-a8f0-2850f7864327", - "id": "Activity_1y13pct", - "name": "Внесение изменений/ дополнений/ исключений сведений в реестр уведомлений ТЭД (envelopeData)" - }, - { - "guid": "18b61142-b1e7-483a-bb17-3d42db1b8db3", - "id": "Activity_0lrt9vk", - "name": "Присвоение номера по шаблону" - }, { "guid": "29203f14-7505-4994-bd84-574524b35c65", "id": "Activity_086flld", "name": "Получение выписки из реестра ТЭД" }, - { - "guid": "2a804098-fba1-4828-a139-c1449c3b2acf", - "id": "Activity_1etjhti", - "name": "Перевод дела в статус \"Положительное решение\"" - }, - { - "guid": "406c7066-3eb7-4abd-a7d9-b9f96cc9e236", - "id": "Activity_0ptjle4", - "name": "Включение в реестр уведомлений ТЭД (envelopeData)" - }, - { - "guid": "59b09840-2b0f-47c3-9d07-941e00dc9794", - "id": "Activity_1wcy9l4", - "name": "Открытые сведения из ЕГРЮЛ (включая сведения, доступ к которым ограничен абзацами 3 и 5 пункта 1 статьи 6 Федерального закона от 08.08.2001 № 129-ФЗ) по запросам органов государственной власти (envelopeData)" - }, { "guid": "805fe785-5c2b-4ee2-a2e7-c4adbc40ae5d", "id": "Activity_0bwwih4", "name": "Перевод в статус \"Отказ в предоставлении услуги\" (4)" }, + { + "guid": "87c1dc1d-b8d6-464c-8eff-48163f5b86ab", + "id": "Activity_0hwnhm8", + "name": "Отправка на ЕПГУ \"Услуга оказана\" (3) с положительным решением, необходимые файлы получены" + }, { "guid": "80dbe463-1df6-4f9f-b76d-888786c1484f", "id": "Activity_0ii8c0k", "name": "Перевод дела в статус \"Отрицательное решение\"" }, { - "guid": "87c1dc1d-b8d6-464c-8eff-48163f5b86ab", - "id": "Activity_0hwnhm8", - "name": "Отправка на ЕПГУ \"Услуга оказана\" (3) с положительным решением, необходимые файлы получены" + "guid": "18b61142-b1e7-483a-bb17-3d42db1b8db3", + "id": "Activity_0lrt9vk", + "name": "Присвоение номера по шаблону" + }, + { + "guid": "406c7066-3eb7-4abd-a7d9-b9f96cc9e236", + "id": "Activity_0ptjle4", + "name": "Включение в реестр уведомлений ТЭД (envelopeData)" + }, + { + "guid": "e51e3b7c-082c-4555-bbfa-1579c81b9ffb", + "id": "Activity_0ux39aa", + "name": "Перевод статуса заявления на ЕПГУ \"Заявление принято к рассмотрению\"(6)" }, { "guid": "bee4c89c-601f-4211-a615-7ef8a3eeade7", @@ -51,9 +41,19 @@ "name": "Получение данных из реестра уведомлений ТЭД (envelopeData)" }, { - "guid": "e51e3b7c-082c-4555-bbfa-1579c81b9ffb", - "id": "Activity_0ux39aa", - "name": "Перевод статуса заявления на ЕПГУ \"Заявление принято к рассмотрению\"(6)" + "guid": "2a804098-fba1-4828-a139-c1449c3b2acf", + "id": "Activity_1etjhti", + "name": "Перевод дела в статус \"Положительное решение\"" + }, + { + "guid": "59b09840-2b0f-47c3-9d07-941e00dc9794", + "id": "Activity_1wcy9l4", + "name": "Открытые сведения из ЕГРЮЛ (включая сведения, доступ к которым ограничен абзацами 3 и 5 пункта 1 статьи 6 Федерального закона от 08.08.2001 № 129-ФЗ) по запросам органов государственной власти (envelopeData)" + }, + { + "guid": "07e607a8-7673-458f-a8f0-2850f7864327", + "id": "Activity_1y13pct", + "name": "Внесение изменений/ дополнений/ исключений сведений в реестр уведомлений ТЭД (envelopeData)" }, { "guid": "ee174972-ab78-4fc6-979a-37c1384f3c6d", diff --git a/README.md b/README.md index 4b63eda..de2b90e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ # json-canonicalizer -Расширенный каноникализатор JSON \ No newline at end of file +## Расширенный каноникализатор JSON + +Получает JSON на консольный вход, каноникализирует его и выдаёт на консольный выход. + +Выполняет: +- структурное форматирование JSON, переданного однострочно; +- сортировку свойств объекта по имени; +- если все элементы списка являются объектами и имеют свойства "iq" либо при его отсутствии "guid", сортирует список по iq ?: 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 +``` \ No newline at end of file