System.Text.Json converters for chart relational model abstractions in the Pure ecosystem.
Pure.Chart.RelationalModel.Abstractions.Serialization.System provides System.Text.Json converters that serialize and deserialize the chart relational model interfaces defined in Pure.Chart.RelationalModel.Abstractions. Each interface maps to a custom JsonConverter<T> backed by an internal sealed record that carries [JsonConstructor] for round-trip fidelity.
| Class | Converts |
|---|---|
ChartRelationalModelConverter | IChartRelationalModel |
ChartSeriesRelationalModelConverter | IChartSeriesRelationalModel |
AxisRelationalModelConverter | IAxisRelationalModel |
ChartTypeRelationalModelConverter | IChartTypeRelationalModel |
ChartRelationalModelAbstractionsConverters | Enumerable collection of all four converters above |
- Interface-preserving — converters target abstract interfaces, not concrete types, so any implementation serializes transparently.
- Internal DTOs — each converter delegates to a private sealed record with
[JsonConstructor]; no internal types leak into the public API.
Pure.Chart.RelationalModel.Abstractions— read-only interfaces for chart, axis, series, and chart-type relational models
- .NET 7
- .NET 8
- .NET 9
- .NET 10
dotnet add package Pure.Chart.RelationalModel.Abstractions.Serialization.System
JsonSerializerOptionsoptions=newJsonSerializerOptions();foreach(JsonConverterconverterinnewChartRelationalModelAbstractionsConverters()){options.Converters.Add(converter);}stringjson=JsonSerializer.Serialize(chart,options);IChartRelationalModeldeserialized=JsonSerializer.Deserialize<IChartRelationalModel>(json,options)!;