Оглавление
Depra.Serialization
- это библиотека, которая предоставляет интерфейсы для абстракции
от способов сериализации и десериализации данных.
- Стандартизация: Единое API для всех форматов сериализации/десериализации.
- Расширяемость: Гибкая архитектура для расширения функциональности по вашим потребностям.
- Тестирование: Покрытие кода тестами для обеспечения стабильности и надежности.
- Документация: Подробная документация для удобства использования.
- Лицензия: Распространяется под лицензией Apache-2.0.
- Бесплатно: Используйте эту библиотеку в любых проектах, включая коммерческие.
- Безопасность: Библиотека не содержит кода, который может нанести вред вашему проекту.
- Поддержка: Поддержка библиотеки будет продолжаться в течение неопределенного периода времени.
- Независимость: Библиотека не зависит от других библиотек и пакетов.
- Легковесность: Библиотека не содержит ненужного кода и зависимостей.
- Простота: Библиотека имеет простую и понятную архитектуру.
- Удобство отладки: Библиотека бросает понятные исключения и сообщения об ошибках в режиме отладки (
DEBUG
).
- Поддержка сериализации и десериализации в следующих форматах:
-
Binary
-
JSON
-
XML
-
YAML
-
CSV
-
- Откройте окно NuGet Package Manager.
- Выберите вкладку Packages.
- Введите в поиске Depra.Serialization.
- Выберите пакет Depra.Serialization.
- Выберите проект, в который вы хотите установить пакет.
- Нажмите Install.
- Загрузите .dll файл из раздела Releases или скачайте исходный код.
- Импортируйте в свой проект.
Ключевые концепции, используемые в этой библиотеке, описаны в следующих интерфейсах:
IRawSerializer
- интерфейс для сериализации и десериализации данных в форматеbyte[]
.ITextSerializer
- интерфейс для сериализации и десериализации данных в форматеstring
.IStreamSerializer
- интерфейс для сериализации и десериализации данных в форматеStream
.IMemorySerializer
- интерфейс для сериализации и десериализации данных в форматеReadOnlyMemory<byte>
.
- Создайте экземпляр сериализатора, который поддерживает формат, который вы хотите использовать. Можете зарегистрировать его в DI контейнере, если вы используете его в своем проекте.
IRawSerializer serializer = new BinarySerializer();
- Используйте методы сериализатора для сериализации и десериализации данных.
var serialized = serializer.Serialize<MyDataType>(data);
var deserialized = await serializer.DeserializeAsync(serialized, typeof(MyDataType));
Depra.Json.Newtonsoft
- добавляет поддержку сериализации и десериализации в форматеJSON
с помощью библиотекиNewtonsoft.Json
.Depra.Json.Microsoft
- добавляет поддержку сериализации и десериализации в форматеJSON
с помощью библиотекиSystem.Text.Json
.
Я рад приветствовать запросы на добавление новых функций и сообщения об ошибках в разделе issues и также принимать pull requests.
Я независимый разработчик, и большая часть разработки этого проекта выполняется в свободное время. Если вы заинтересованы в сотрудничестве или найме меня для проекта, ознакомьтесь с моим портфолио и свяжитесь со мной!
Этот проект распространяется под лицензией Apache-2.0
Copyright (c) 2023 Николай Мельников n.melnikov@depra.org