Microsoft.Orleans.Serialization.SystemTextJson
9.2.0
Prefix Reserved
dotnet add package Microsoft.Orleans.Serialization.SystemTextJson --version 9.2.0
NuGet\Install-Package Microsoft.Orleans.Serialization.SystemTextJson -Version 9.2.0
<PackageReference Include="Microsoft.Orleans.Serialization.SystemTextJson" Version="9.2.0" />
<PackageVersion Include="Microsoft.Orleans.Serialization.SystemTextJson" Version="9.2.0" />
<PackageReference Include="Microsoft.Orleans.Serialization.SystemTextJson" />
paket add Microsoft.Orleans.Serialization.SystemTextJson --version 9.2.0
#r "nuget: Microsoft.Orleans.Serialization.SystemTextJson, 9.2.0"
#:package Microsoft.Orleans.Serialization.SystemTextJson@9.2.0
#addin nuget:?package=Microsoft.Orleans.Serialization.SystemTextJson&version=9.2.0
#tool nuget:?package=Microsoft.Orleans.Serialization.SystemTextJson&version=9.2.0
Microsoft Orleans Serialization for System.Text.Json
Introduction
Microsoft Orleans Serialization for System.Text.Json provides JSON serialization support for Microsoft Orleans using the modern System.Text.Json library. This allows you to use the high-performance JSON serialization capabilities from the .NET runtime within your Orleans application.
Getting Started
To use this package, install it via NuGet:
dotnet add package Microsoft.Orleans.Serialization.SystemTextJson
Example - Configuring System.Text.Json Serialization
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Orleans.Hosting;
using Orleans.Serialization;
var builder = Host.CreateApplicationBuilder(args)
.UseOrleans(siloBuilder =>
{
siloBuilder
.UseLocalhostClustering()
// Configure System.Text.Json as a serializer
.AddSerializer(serializerBuilder => serializerBuilder.AddSystemTextJsonSerializer(type => type.Namespace.StartsWith("ExampleGrains")));
});
// Run the host
await builder.RunAsync();
Example - Using System.Text.Json with a Custom Type
using Orleans;
using System.Text.Json.Serialization;
namespace ExampleGrains;
// Define a class with System.Text.Json attributes
public class MyJsonClass
{
[JsonPropertyName("full_name")]
public string Name { get; set; }
[JsonPropertyName("age")]
public int Age { get; set; }
[JsonPropertyName("tags")]
public List<string> Tags { get; set; }
[JsonIgnore]
public string SecretData { get; set; }
}
// You can use it directly in your grain interfaces and implementation
public interface IMyGrain : IGrainWithStringKey
{
Task<MyJsonClass> GetData();
Task SetData(MyJsonClass data);
}
public class MyGrain : Grain, IMyGrain
{
private MyJsonClass _data;
public Task<MyJsonClass> GetData()
{
return Task.FromResult(_data);
}
public Task SetData(MyJsonClass data)
{
_data = data;
return Task.CompletedTask;
}
}
Documentation
For more comprehensive documentation, please refer to:
Feedback & Contributing
- If you have any issues or would like to provide feedback, please open an issue on GitHub
- Join our community on Discord
- Follow the @msftorleans Twitter account for Orleans announcements
- Contributions are welcome! Please review our contribution guidelines
- This project is licensed under the MIT license
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.5.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.5.0)
- Microsoft.DotNet.PlatformAbstractions (>= 3.1.6)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.DependencyModel (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Orleans.Analyzers (>= 9.2.0)
- Microsoft.Orleans.CodeGenerator (>= 9.2.0)
- Microsoft.Orleans.Serialization (>= 9.2.0)
- System.Collections.Immutable (>= 8.0.0)
- System.IO.Hashing (>= 8.0.0)
- System.IO.Pipelines (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
-
net8.0
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.5.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.DependencyModel (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Orleans.Analyzers (>= 9.2.0)
- Microsoft.Orleans.CodeGenerator (>= 9.2.0)
- Microsoft.Orleans.Serialization (>= 9.2.0)
- System.Collections.Immutable (>= 8.0.0)
- System.IO.Hashing (>= 8.0.0)
- System.IO.Pipelines (>= 8.0.0)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Microsoft.Orleans.Serialization.SystemTextJson:
Package | Downloads |
---|---|
Aksio.Cratis.Kernel.Orleans
Package Description |
|
Cratis.Chronicle.Setup
Package Description |
|
Cszy.Orleans
Package Description |
|
UFX.Orleans.SignalRBackplane
Orleans backplane for SignalR |
|
BusAppCore.CommandQuery
BusAppCore CQRS support library |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Microsoft.Orleans.Serialization.SystemTextJson:
Repository | Stars |
---|---|
Dotnet-Boxed/Templates
.NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
|
Version | Downloads | Last Updated |
---|---|---|
9.2.0 | 74 | 7/14/2025 |
9.2.0-preview3 | 490 | 6/10/2025 |
9.2.0-preview2 | 199 | 6/4/2025 |
9.2.0-preview1 | 5,553 | 4/4/2025 |
9.1.2 | 123,989 | 2/13/2025 |
9.0.1 | 68,436 | 11/23/2024 |
9.0.0 | 5,765 | 11/14/2024 |
8.2.0 | 176,588 | 7/12/2024 |
8.2.0-preview1 | 219 | 5/22/2024 |
8.1.0 | 142,365 | 4/17/2024 |
8.1.0-preview3 | 220 | 3/11/2024 |
8.1.0-preview2 | 341 | 2/23/2024 |
8.1.0-preview1 | 144 | 2/13/2024 |
8.0.0 | 68,810 | 1/5/2024 |
8.0.0-rc2 | 511 | 12/20/2023 |
8.0.0-rc1 | 381 | 12/4/2023 |
7.2.7 | 3,604 | 10/15/2024 |
7.2.6 | 34,051 | 3/9/2024 |
7.2.5 | 1,421 | 2/22/2024 |
7.2.4 | 39,248 | 12/2/2023 |
7.2.3 | 15,839 | 11/3/2023 |
7.2.2 | 44,615 | 10/16/2023 |
7.2.1 | 223,432 | 7/11/2023 |
7.2.0 | 842 | 7/7/2023 |
7.1.2 | 39,947 | 4/19/2023 |
7.1.1 | 7,750 | 3/23/2023 |
7.1.0 | 40,321 | 2/1/2023 |
7.0.0 | 10,523 | 11/8/2022 |
7.0.0-rc2 | 247 | 10/19/2022 |
4.0.0-preview2 | 329 | 8/4/2022 |