Files
git.stella-ops.org/src/Scheduler/__Libraries/StellaOps.Scheduler.Persistence/Postgres/CanonicalJsonSerializer.cs

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;
}