Class JsonMessageDeserializer<TMessage>
Deserializes the JSON messages into an instance of TMessage.
Inherited Members
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 |
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
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 |