Josephan.CQRS.FunctionalResults.NewtonsoftJson
1.0.7
dotnet add package Josephan.CQRS.FunctionalResults.NewtonsoftJson --version 1.0.7
NuGet\Install-Package Josephan.CQRS.FunctionalResults.NewtonsoftJson -Version 1.0.7
<PackageReference Include="Josephan.CQRS.FunctionalResults.NewtonsoftJson" Version="1.0.7" />
<PackageVersion Include="Josephan.CQRS.FunctionalResults.NewtonsoftJson" Version="1.0.7" />
<PackageReference Include="Josephan.CQRS.FunctionalResults.NewtonsoftJson" />
paket add Josephan.CQRS.FunctionalResults.NewtonsoftJson --version 1.0.7
#r "nuget: Josephan.CQRS.FunctionalResults.NewtonsoftJson, 1.0.7"
#:package Josephan.CQRS.FunctionalResults.NewtonsoftJson@1.0.7
#addin nuget:?package=Josephan.CQRS.FunctionalResults.NewtonsoftJson&version=1.0.7
#tool nuget:?package=Josephan.CQRS.FunctionalResults.NewtonsoftJson&version=1.0.7
Josephan.CQRS.FunctionalResults.NewtonsoftJson
Newtonsoft.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 ASP.NET Core controllers or serialized in requests, responses, logs, and messages without writing custom converters.
Installation
dotnet add package Josephan.CQRS.FunctionalResults.NewtonsoftJson
Setup
Register the converters against your JsonSerializerSettings:
builder.Services
.AddControllers()
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.AddJosephanFunctionalResults();
});
Or apply them manually:
var settings = new JsonSerializerSettings();
settings.AddJosephanFunctionalResults();
var json = JsonConvert.SerializeObject(result, settings);
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");
JsonConvert.SerializeObject(result, settings);
{
"isSuccess": false,
"errors": [
{
"code": "User.NotFound",
"description": "User was not found",
"type": "NotFound"
}
]
}
Success example:
Result<Guid> result = Result.Success(Guid.NewGuid());
JsonConvert.SerializeObject(result, settings);
{
"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 applications that use Newtonsoft.Json and 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)
- Newtonsoft.Json (>= 13.0.4)
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 | 121 | 7/27/2026 |