{"id":31335873,"url":"https://github.com/depra-inc/serialization","last_synced_at":"2026-05-16T08:09:30.158Z","repository":{"id":161183335,"uuid":"540044741","full_name":"Depra-Inc/Serialization","owner":"Depra-Inc","description":"A library with an abstract implementation of the serialization interface, basic serializer types, and support for integrations and extensions","archived":false,"fork":false,"pushed_at":"2025-01-02T04:49:25.000Z","size":236,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-25T11:59:43.318Z","etag":null,"topics":["binary","deserialization","json","netstandard21","newtonsoft-json","serialization","system-text-json","xml"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Depra-Inc.png","metadata":{"files":{"readme":"Docs/README.RU.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-09-22T15:21:10.000Z","updated_at":"2025-01-02T04:49:28.000Z","dependencies_parsed_at":"2023-09-02T12:23:36.986Z","dependency_job_id":"9622eb1a-23ab-484f-ab5c-81490132a024","html_url":"https://github.com/Depra-Inc/Serialization","commit_stats":null,"previous_names":["depra-inc/serialization","depression-aggression/serialization"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Depra-Inc/Serialization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Depra-Inc%2FSerialization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Depra-Inc%2FSerialization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Depra-Inc%2FSerialization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Depra-Inc%2FSerialization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Depra-Inc","download_url":"https://codeload.github.com/Depra-Inc/Serialization/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Depra-Inc%2FSerialization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277009880,"owners_count":25744543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-26T02:00:09.010Z","response_time":78,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary","deserialization","json","netstandard21","newtonsoft-json","serialization","system-text-json","xml"],"created_at":"2025-09-26T02:08:32.075Z","updated_at":"2025-09-26T02:08:58.825Z","avatar_url":"https://github.com/Depra-Inc.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Depra.Serialization\n\n\u003cdiv\u003e\n    \u003cstrong\u003e\u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e | \u003ca href=\"README.RU.md\"\u003eРусский\u003c/a\u003e\u003c/strong\u003e\n\u003c/div\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eОглавление\u003c/summary\u003e\n\n- [Введение](#-введение)\n    - [Особенности](#-особенности)\n    - [Возможности](#-возможности)\n- [Установка](#-установка)\n- [Содержание](#-содержание)\n- [Примеры использования](#-примеры-использования)\n- [Расширения](#-расширения)\n- [Сотрудничество](#-сотрудничество)\n- [Поддержка](#-поддержка)\n- [Лицензия](#-лицензия)\n\n\u003c/details\u003e\n\n## 🧾 Введение\n\n`Depra.Serialization` - это библиотека, которая предоставляет интерфейсы для абстракции\nот способов сериализации и десериализации данных.\n\n### 💡 Особенности:\n\n- **Стандартизация**: Единое API для всех форматов сериализации/десериализации.\n- **Расширяемость**: Гибкая архитектура для расширения функциональности по вашим потребностям.\n- **Тестирование**: Покрытие кода тестами для обеспечения стабильности и надежности.\n- **Документация**: Подробная документация для удобства использования.\n- **Лицензия**: Распространяется под лицензией **Apache-2.0**.\n- **Бесплатно**: Используйте эту библиотеку в любых проектах, включая коммерческие.\n- **Безопасность**: Библиотека не содержит кода, который может нанести вред вашему проекту.\n- **Поддержка**: Поддержка библиотеки будет продолжаться в течение неопределенного периода времени.\n- **Независимость**: Библиотека не зависит от других библиотек и пакетов.\n- **Легковесность**: Библиотека не содержит ненужного кода и зависимостей.\n- **Простота**: Библиотека имеет простую и понятную архитектуру.\n- **Удобство отладки**: Библиотека бросает понятные исключения и сообщения об ошибках в режиме отладки (`DEBUG`).\n\n### 🦾 Возможности:\n\n- Поддержка сериализации и десериализации в следующих форматах:\n    - [x] `Binary`\n    - [x] `JSON`\n    - [x] `XML`\n    - [ ] `YAML`\n    - [ ] `CSV`\n\n## 📥 Установка\n\n### 📦 Через **NuGet**:\n\n1. Откройте окно **NuGet Package Manager**.\n2. Выберите вкладку **Packages**.\n3. Введите в поиске **Depra.Serialization**.\n4. Выберите пакет **Depra.Serialization**.\n5. Выберите проект, в который вы хотите установить пакет.\n6. Нажмите **Install**.\n\n### ⚙️ Ручная:\n\n1. Загрузите ***.dll*** файл из раздела [Releases](https://github.com/Depra-Inc/Serialization/releases)\n   или скачайте исходный код.\n2. Импортируйте в свой проект.\n\n## 📖 Содержание\n\n**Ключевые концепции**, используемые в этой библиотеке, описаны в следующих интерфейсах:\n\n- `IRawSerializer` - интерфейс для сериализации и десериализации данных в формате `byte[]`.\n- `ITextSerializer` - интерфейс для сериализации и десериализации данных в формате `string`.\n- `IStreamSerializer` - интерфейс для сериализации и десериализации данных в формате `Stream`.\n- `IMemorySerializer` - интерфейс для сериализации и десериализации данных в формате `ReadOnlyMemory\u003cbyte\u003e`.\n\n## 📋 Примеры использования\n\n1. Создайте экземпляр сериализатора, который поддерживает формат, который вы хотите использовать.\n   Можете зарегистрировать его в **DI контейнере**, если вы используете его в своем проекте.\n\n```csharp\nIRawSerializer serializer = new BinarySerializer();\n```\n\n2. Используйте методы сериализатора для сериализации и десериализации данных.\n\n```csharp\nvar serialized = serializer.Serialize\u003cMyDataType\u003e(data);\nvar deserialized = await serializer.DeserializeAsync(serialized, typeof(MyDataType));\n```\n\n## ➕ Расширения\n\n- `Depra.Json.Newtonsoft` - добавляет поддержку сериализации и десериализации в формате `JSON` с помощью\n  библиотеки `Newtonsoft.Json`.\n- `Depra.Json.Microsoft` - добавляет поддержку сериализации и десериализации в формате `JSON` с помощью\n  библиотеки `System.Text.Json`.\n\n## 🤝 Сотрудничество\n\nЯ рад приветствовать запросы на добавление новых функций и сообщения об ошибках в\nразделе [issues](https://github.com/Depra-Inc/Serialization/issues) и также\nпринимать [pull requests](https://github.com/Depra-Inc/Serialization/pulls).\n\n## 🫂 Поддержка\n\nЯ независимый разработчик,\nи большая часть разработки этого проекта выполняется в свободное время.\nЕсли вы заинтересованы в сотрудничестве или найме меня для проекта,\nознакомьтесь с моим [портфолио](https://github.com/Depra-Inc)\nи [свяжитесь со мной](mailto:g0dzZz1lla@yandex.ru)!\n\n## 🔐 Лицензия\n\nЭтот проект распространяется под лицензией\n**[Apache-2.0](https://github.com/Depra-Inc/Serialization/blob/main/LICENSE.md)**\n\nCopyright (c) 2023 Николай Мельников\n[n.melnikov@depra.org](mailto:n.melnikov@depra.org)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdepra-inc%2Fserialization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdepra-inc%2Fserialization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdepra-inc%2Fserialization/lists"}