Table of Contents

Class ParsableJsonConverter<T>

Namespace
Trellis
Assembly
Trellis.Core.dll

Converts value objects that implement IParsable<TSelf> to and from JSON.

public class ParsableJsonConverter<T> : JsonConverter<T> where T : IParsable<T>

Type Parameters

T

The value-object type to convert.

Inheritance
ParsableJsonConverter<T>
Inherited Members
Extension Methods

Remarks

Generated Required* value objects use this converter so Core-only consumers can serialize and deserialize generated primitives without referencing Trellis.Primitives.

Properties

HandleNull

Tells System.Text.Json to call Read(ref Utf8JsonReader, Type, JsonSerializerOptions) even when the JSON token is null. Without this, the serializer bypasses the converter for null tokens on reference-type targets and yields a null reference, silently violating the non-nullable contract of a generated primitive.

public override bool HandleNull { get; }

Property Value

bool

Methods

Read(ref Utf8JsonReader, Type, JsonSerializerOptions)

Reads and converts the JSON to type T.

public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)

Parameters

reader Utf8JsonReader

The reader.

typeToConvert Type

The type to convert.

options JsonSerializerOptions

An object that specifies serialization options to use.

Returns

T

The converted value.

Write(Utf8JsonWriter, T, JsonSerializerOptions)

Writes a specified value as JSON.

public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)

Parameters

writer Utf8JsonWriter

The writer to write to.

value T

The value to convert to JSON.

options JsonSerializerOptions

An object that specifies serialization options to use.