Table of Contents

Class NewtonsoftJsonMessageDeserializer<TMessage>

Namespace
Silverback.Messaging.Serialization
Assembly
Silverback.Integration.Newtonsoft.dll

Deserializes the JSON messages into an instance of TMessage.

public sealed class NewtonsoftJsonMessageDeserializer<TMessage> : IMessageDeserializer, IEquatable<NewtonsoftJsonMessageDeserializer<TMessage>>

Type Parameters

TMessage

The type of the messages to be deserialized.

Inheritance
NewtonsoftJsonMessageDeserializer<TMessage>
Implements
Inherited Members

Constructors

NewtonsoftJsonMessageDeserializer(JsonSerializerSettings?, MessageEncoding?, JsonMessageDeserializerTypeHeaderBehavior?)

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

public NewtonsoftJsonMessageDeserializer(JsonSerializerSettings? settings = null, MessageEncoding? encoding = null, JsonMessageDeserializerTypeHeaderBehavior? typeHeaderBehavior = null)

Parameters

settings JsonSerializerSettings

The Newtonsoft.Json.JsonSerializer settings.

encoding MessageEncoding?

The message encoding. The default is UTF8.

typeHeaderBehavior JsonMessageDeserializerTypeHeaderBehavior?

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

Properties

Encoding

Gets the message encoding. The default is UTF8.

public MessageEncoding Encoding { get; }

Property Value

MessageEncoding

RequireHeaders

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

public bool RequireHeaders { get; }

Property Value

bool

Settings

Gets the Newtonsoft.Json.JsonSerializer settings.

public JsonSerializerSettings? Settings { get; }

Property Value

JsonSerializerSettings

TypeHeaderBehavior

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

public JsonMessageDeserializerTypeHeaderBehavior TypeHeaderBehavior { get; }

Property Value

JsonMessageDeserializerTypeHeaderBehavior

Methods

DeserializeAsync(Stream?, MessageHeaderCollection, ConsumerEndpoint)

Deserializes the byte array into a message object.

public ValueTask<DeserializedMessage> DeserializeAsync(Stream? messageStream, MessageHeaderCollection headers, ConsumerEndpoint endpoint)

Parameters

messageStream Stream

The Stream containing the message to be deserialized.

headers MessageHeaderCollection

The message headers collection.

endpoint ConsumerEndpoint

The endpoint.

Returns

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(NewtonsoftJsonMessageDeserializer<TMessage>?)

public bool Equals(NewtonsoftJsonMessageDeserializer<TMessage>? other)

Parameters

other NewtonsoftJsonMessageDeserializer<TMessage>

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetCompatibleSerializer()

Gets a new IMessageSerializer compatible with this deserializer.

public IMessageSerializer GetCompatibleSerializer()

Returns

IMessageSerializer

A new instance of an IMessageSerializer compatible with this deserializer.

GetHashCode()

public override int GetHashCode()

Returns

int