Table of Contents

Class JsonSerialization

Namespace
Arc4u.Serializer
Assembly
Arc4u.Serializer.JSon.dll

Implement object serialization with Json

public class JsonSerialization : IObjectSerialization
Inheritance
JsonSerialization
Implements
Inherited Members

Constructors

JsonSerialization()

Construct an instance with default options

[RequiresUnreferencedCode("This constructor is not suitable for AOT. Use the constructor with JsonSerializerContext for AOT compatibility.")]
public JsonSerialization()

JsonSerialization(JsonSerializerOptions)

Construct an instance, with specific serializer options

[RequiresUnreferencedCode("This constructor is not suitable for AOT. Use the constructor with JsonSerializerContext for AOT compatibility.")]
public JsonSerialization(JsonSerializerOptions options)

Parameters

options JsonSerializerOptions

Json serializer options

JsonSerialization(JsonSerializerContext)

Construct an instance with a serialization context. This is used for source generation, implemented in .NET 6 or later (https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/source-generation?pivots=dotnet-6-0)

public JsonSerialization(JsonSerializerContext context)

Parameters

context JsonSerializerContext

Json context for source generation.

Methods

Deserialize(byte[], Type)

Deserializes bytes to an object of a type known only at runtime.

[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
[UnconditionalSuppressMessage("Trimming", "IL3050", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
public object? Deserialize(byte[] data, Type objectType)

Parameters

data byte[]

The serialized bytes.

objectType Type

The type of the object to create.

Returns

object

The deserialized object.

Deserialize<T>(byte[])

Deserializes bytes produced by Serialize<T>(T).

[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
[UnconditionalSuppressMessage("Trimming", "IL3050", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
public T? Deserialize<T>(byte[] data)

Parameters

data byte[]

The serialized bytes.

Returns

T

The deserialized value.

Type Parameters

T

The expected type of the value.

Serialize<T>(T)

Serializes a value to bytes.

[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
[UnconditionalSuppressMessage("Trimming", "IL3050", Justification = "The constructor is marked with RequiresUnreferencedCode.")]
public byte[] Serialize<T>(T value)

Parameters

value T

The value to serialize.

Returns

byte[]

The serialized bytes.

Type Parameters

T

The type of the value.