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
optionsJsonSerializerOptionsJson 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
contextJsonSerializerContextJson 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
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
databyte[]The serialized bytes.
Returns
- T
The deserialized value.
Type Parameters
TThe 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
valueTThe value to serialize.
Returns
- byte[]
The serialized bytes.
Type Parameters
TThe type of the value.