20 lines
677 B
C#
20 lines
677 B
C#
using System.Text.Json;
|
|
|
|
namespace StellaOps.Scheduler.Persistence.Postgres;
|
|
|
|
internal static class CanonicalJsonSerializer
|
|
{
|
|
private static readonly JsonSerializerOptions Options = new(JsonSerializerDefaults.Web)
|
|
{
|
|
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
|
|
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull,
|
|
WriteIndented = false
|
|
};
|
|
|
|
public static string Serialize<T>(T value) => JsonSerializer.Serialize(value, Options);
|
|
|
|
public static T? Deserialize<T>(string json) => JsonSerializer.Deserialize<T>(json, Options);
|
|
|
|
public static JsonSerializerOptions Settings => Options;
|
|
}
|