Josephan.CQRS.FunctionalResults.SystemTextJson
1.0.7
dotnet add package Josephan.CQRS.FunctionalResults.SystemTextJson --version 1.0.7
NuGet\Install-Package Josephan.CQRS.FunctionalResults.SystemTextJson -Version 1.0.7
<PackageReference Include="Josephan.CQRS.FunctionalResults.SystemTextJson" Version="1.0.7" />
<PackageVersion Include="Josephan.CQRS.FunctionalResults.SystemTextJson" Version="1.0.7" />
<PackageReference Include="Josephan.CQRS.FunctionalResults.SystemTextJson" />
paket add Josephan.CQRS.FunctionalResults.SystemTextJson --version 1.0.7
#r "nuget: Josephan.CQRS.FunctionalResults.SystemTextJson, 1.0.7"
#:package Josephan.CQRS.FunctionalResults.SystemTextJson@1.0.7
#addin nuget:?package=Josephan.CQRS.FunctionalResults.SystemTextJson&version=1.0.7
#tool nuget:?package=Josephan.CQRS.FunctionalResults.SystemTextJson&version=1.0.7
Josephan.CQRS.FunctionalResults.SystemTextJson
System.Text.Json converters for Josephan.CQRS.FunctionalResults.
Adds out-of-the-box JSON (de)serialization support for Result, Result<T>, and Error, so they can be returned directly from minimal APIs / controllers or serialized in requests, responses, logs, and messages without writing custom converters.
Installation
dotnet add package Josephan.CQRS.FunctionalResults.SystemTextJson
Setup
Register the converters against your JsonSerializerOptions:
builder.Services.ConfigureHttpJsonOptions(options =>
{
options.SerializerOptions.AddJosephanFunctionalResults();
});
Or apply them manually:
var options = new JsonSerializerOptions();
options.AddJosephanFunctionalResults();
var json = JsonSerializer.Serialize(result, options);
What's Included
A single extension method, AddJosephanFunctionalResults, registers everything needed to serialize and deserialize Error, Result, and Result<T> (for any T).
Example Output
Result<Guid> result = Error.NotFound(
"User.NotFound",
"User was not found");
JsonSerializer.Serialize(result, options);
{
"isSuccess": false,
"errors": [
{
"code": "User.NotFound",
"description": "User was not found",
"type": "NotFound"
}
]
}
Success example:
Result<Guid> result = Result.Success(Guid.NewGuid());
JsonSerializer.Serialize(result, options);
{
"isSuccess": true,
"value": "b3a2d6b0-8f2e-4e3a-9d1a-1234567890ab"
}
Why a Separate Package?
Josephan.CQRS.FunctionalResults stays free of serialization dependencies. This package is opt-in for apps that need Result / Error to cross a JSON boundary (HTTP responses, message queues, logs).
License
MIT © Yousef Yahia
| 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Josephan.CQRS.FunctionalResults (>= 1.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.7 | 116 | 7/27/2026 |