JSON Serialization¶
Introduction¶
The framework has built-in strongly typed IDs such as StronglyTypedId, RowVersion, UpdateTime, etc., to assist modeling. To better support the serialization of these types in JSON, the framework provides JsonConverter to support the serialization of these types.
It supports both Newtonsoft.Json and System.Text.Json JSON serialization libraries.
How to Use¶
System.Text.Json¶
Add the following code in Program.cs:
builder.Services.AddMvc()
  .AddNetCorePalSystemTextJson();
Newtonsoft.Json¶
Add the following code in Program.cs:
builder.Services.AddMvc()
  .AddNetCorePalNewtonsoftJson();
Note: Support for Newtonsoft.Json requires referencing the NetCorePal.Extensions.NewtonsoftJson package.
Other Scenarios¶
If you need to use it in other scenarios, you can directly use the AddNetCorePalJsonConverters extension method to add EntityIdJsonConverterFactory, RowVersionJsonConverter, UpdateTimeJsonConverter, and other converters.
System.Text.Json¶
using System.Text.Json;
var options = new JsonSerializerOptions();
options.AddNetCorePalJsonConverters();
Newtonsoft.Json¶
using Newtonsoft.Json;
var settings = new JsonSerializerSettings();
settings.AddNetCorePalJsonConverters();