Files
Swarm/DysonNetwork.Shared/Cache/JsonCacheSerializer.cs
2025-12-02 22:38:47 +08:00

20 lines
654 B
C#

using System.Text.Json;
namespace DysonNetwork.Shared.Cache;
public class JsonCacheSerializer(JsonSerializerOptions? options = null) : ICacheSerializer
{
private readonly JsonSerializerOptions _options = options ?? new JsonSerializerOptions(JsonSerializerDefaults.Web)
{
// Customize as needed (NodaTime, camelCase, converters, etc.)
WriteIndented = false
};
// Customize as needed (NodaTime, camelCase, converters, etc.)
public string Serialize<T>(T value)
=> JsonSerializer.Serialize(value, _options);
public T? Deserialize<T>(string data)
=> JsonSerializer.Deserialize<T>(data, _options);
}