using System.Diagnostics.CodeAnalysis;
using System.Text.Json;
using Elsa.Common.Contracts;
namespace Elsa.Common.Serialization;
///
/// Provides JSON serialization services.
///
public class StandardJsonSerializer : ConfigurableSerializer, IJsonSerializer
{
///
public StandardJsonSerializer(IServiceProvider serviceProvider) : base(serviceProvider)
{
}
///
[RequiresUnreferencedCode("The type is not known at compile time.")]
public string Serialize(object value)
{
var options = CreateOptions();
return JsonSerializer.Serialize(value, options);
}
///
[RequiresUnreferencedCode("The type is not known at compile time.")]
public string Serialize(object value, Type type)
{
var options = CreateOptions();
return JsonSerializer.Serialize(value, type, options);
}
///
[RequiresUnreferencedCode("The type is not known at compile time.")]
public object Deserialize(string json)
{
var options = CreateOptions();
return JsonSerializer.Deserialize