Franz.Common.Serialization
1.2.62
See the version list below for details.
dotnet add package Franz.Common.Serialization --version 1.2.62
NuGet\Install-Package Franz.Common.Serialization -Version 1.2.62
<PackageReference Include="Franz.Common.Serialization" Version="1.2.62" />
paket add Franz.Common.Serialization --version 1.2.62
#r "nuget: Franz.Common.Serialization, 1.2.62"
// Install Franz.Common.Serialization as a Cake Addin #addin nuget:?package=Franz.Common.Serialization&version=1.2.62 // Install Franz.Common.Serialization as a Cake Tool #tool nuget:?package=Franz.Common.Serialization&version=1.2.62
Franz.Common.Serialization
A serialization utility library within the Franz Framework that simplifies JSON and byte array serialization. This package includes custom JSON converters, serializers, and extensions for seamless integration into .NET applications.
Features
- Custom JSON Converters:
DateTimeJsonConverter
andDateTimeOffsetJsonConverter
for handling specific datetime formats.EnumerationJsonConverter
for serializing and deserializing enumerations.
- Byte Array Serialization:
ByteArraySerializer
andIByteArraySerializer
for efficient byte array serialization and deserialization.
- JSON Serialization:
JsonSerializer
andJsonCreationConverter
for custom JSON serialization logic.
- Service Registration:
ServiceCollectionExtensions
to streamline serializer setup and dependency injection.
Version Information
- Current Version: 1.2.62
- Part of the private Franz Framework ecosystem.
Dependencies
This package is lightweight and has no external dependencies beyond the .NET runtime.
Installation
From Private Azure Feed
Since this package is hosted privately, configure your NuGet client:
dotnet nuget add source "https://your-private-feed-url" \
--name "AzurePrivateFeed" \
--username "YourAzureUsername" \
--password "YourAzurePassword" \
--store-password-in-clear-text
Install the package:
dotnet add package Franz.Common.Serialization --version 1.2.62
Usage
1. Register Serialization Services
Use ServiceCollectionExtensions
to register the serializers:
using Franz.Common.Serialization.Extensions;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSerialization();
}
}
2. Serialize and Deserialize JSON
Leverage JsonSerializer
for JSON operations:
using Franz.Common.Serialization;
var jsonSerializer = new JsonSerializer();
var jsonData = jsonSerializer.Serialize(new { Name = "John", Age = 30 });
var person = jsonSerializer.Deserialize<Person>(jsonData);
3. Use Custom JSON Converters
Register and use custom converters like DateTimeJsonConverter
:
var options = new JsonSerializerOptions();
options.Converters.Add(new DateTimeJsonConverter());
var json = JsonSerializer.Serialize(DateTime.Now, options);
var dateTime = JsonSerializer.Deserialize<DateTime>(json, options);
4. Byte Array Serialization
Utilize ByteArraySerializer
for byte array operations:
using Franz.Common.Serialization;
var byteArraySerializer = new ByteArraySerializer();
var data = new byte[] { 1, 2, 3, 4 };
var serialized = byteArraySerializer.Serialize(data);
var deserialized = byteArraySerializer.Deserialize<byte[]>(serialized);
Integration with Franz Framework
The Franz.Common.Serialization package integrates seamlessly with the Franz Framework, providing utilities for efficient serialization and deserialization in distributed systems. Combine it with other Franz packages for enhanced functionality.
Contributing
This package is part of a private framework. Contributions are limited to the internal development team. If you have access, follow these steps:
- Clone the repository.
- Create a feature branch.
- Submit a pull request for review.
License
This library is licensed under the MIT License. See the LICENSE
file for more details.
Changelog
Version 1.2.62
- Added
DateTimeJsonConverter
,DateTimeOffsetJsonConverter
, andEnumerationJsonConverter
. - Introduced
ByteArraySerializer
andIByteArraySerializer
. - Enhanced JSON serialization with
JsonSerializer
andJsonCreationConverter
. - Provided
ServiceCollectionExtensions
for streamlined DI setup.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Franz.Common (>= 1.2.62)
- Franz.Common.Business (>= 1.2.62)
- Franz.Common.DependencyInjection (>= 1.2.62)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Franz.Common.Serialization:
Package | Downloads |
---|---|
Franz.Common.Http.Headers
Shared utility library for the Franz Framework. |
|
Franz.Common.Http.Client
Shared utility library for the Franz Framework. |
|
Franz.Common.Http
Shared utility library for the Franz Framework. |
GitHub repositories
This package is not used by any popular GitHub repositories.