Show / Hide Table of Contents

    Class JsonMessageDeserializer<TMessage>

    Deserializes the JSON messages into an instance of TMessage.

    Inheritance
    object
    JsonMessageDeserializer<TMessage>
    Implements
    IMessageDeserializer
    IEquatable<JsonMessageDeserializer<TMessage>>
    Inherited Members
    object.GetType()
    object.ToString()
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    Namespace: Silverback.Messaging.Serialization
    Assembly: Silverback.Integration.dll
    Syntax
    public sealed class JsonMessageDeserializer<TMessage> : IMessageDeserializer, IEquatable<JsonMessageDeserializer<TMessage>>
    Type Parameters
    Name Description
    TMessage

    The type of the messages to be deserialized.

    Constructors

    JsonMessageDeserializer(JsonSerializerOptions?, JsonMessageDeserializerTypeHeaderBehavior?)

    Initializes a new instance of the JsonMessageDeserializer<TMessage> class.

    Declaration
    public JsonMessageDeserializer(JsonSerializerOptions? options = null, JsonMessageDeserializerTypeHeaderBehavior? typeHeaderBehavior = null)
    Parameters
    Type Name Description
    JsonSerializerOptions options

    The JsonSerializer options.

    JsonMessageDeserializerTypeHeaderBehavior? typeHeaderBehavior

    The behavior to adopt when deserializing according to the message type header.

    Properties

    Options

    Gets the JsonSerializer options.

    Declaration
    public JsonSerializerOptions? Options { get; }
    Property Value
    Type Description
    JsonSerializerOptions

    RequireHeaders

    Gets a value indicating whether this serializer (with the current configuration) needs the headers support to work properly.

    Declaration
    public bool RequireHeaders { get; }
    Property Value
    Type Description
    bool

    TypeHeaderBehavior

    Gets the behavior to adopt when deserializing according to the message type header.

    Declaration
    public JsonMessageDeserializerTypeHeaderBehavior TypeHeaderBehavior { get; }
    Property Value
    Type Description
    JsonMessageDeserializerTypeHeaderBehavior

    Methods

    DeserializeAsync(Stream?, MessageHeaderCollection, ConsumerEndpoint)

    Deserializes the byte array into a message object.

    Declaration
    public ValueTask<DeserializedMessage> DeserializeAsync(Stream? messageStream, MessageHeaderCollection headers, ConsumerEndpoint endpoint)
    Parameters
    Type Name Description
    Stream messageStream

    The Stream containing the message to be deserialized.

    MessageHeaderCollection headers

    The message headers collection.

    ConsumerEndpoint endpoint

    The endpoint.

    Returns
    Type Description
    ValueTask<DeserializedMessage>

    A ValueTask<TResult> representing the asynchronous operation. The task result contains the deserialized message (or null when the input is null or empty) and the type of the message.

    Equals(JsonMessageDeserializer<TMessage>?)

    Deserializes the JSON messages into an instance of TMessage.

    Declaration
    public bool Equals(JsonMessageDeserializer<TMessage>? other)
    Parameters
    Type Name Description
    JsonMessageDeserializer<TMessage> other
    Returns
    Type Description
    bool

    Equals(object?)

    Deserializes the JSON messages into an instance of TMessage.

    Declaration
    public override bool Equals(object? obj)
    Parameters
    Type Name Description
    object obj
    Returns
    Type Description
    bool
    Overrides
    object.Equals(object)

    GetCompatibleSerializer()

    Gets a new IMessageSerializer compatible with this deserializer.

    Declaration
    public IMessageSerializer GetCompatibleSerializer()
    Returns
    Type Description
    IMessageSerializer

    A new instance of an IMessageSerializer compatible with this deserializer.

    GetHashCode()

    Deserializes the JSON messages into an instance of TMessage.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    object.GetHashCode()

    Implements

    IMessageDeserializer
    IEquatable<T>
    GitHub E-Mail
    ↑ Back to top © 2026 Sergio Aquilini