JsonEditor
Schema-driven JSON-editor med visuellt läge, raw-läge, validering och C#-kodgenerering.
Live demo
Kod för denna demo
Program.cs — schemakompilering
// Schema compilation is done at design-time via CLI:
// dotnet run --project src/BlazorToolkit.SchemaCompiler -- ./Schemas ./Generated
// At startup, register the registry (no async, no file I/O):
builder.Services.AddSingleton(SchemaRegistryProvider.Create());Razor — komponentanvändning
@inject SchemaRegistry SchemaSet
<JsonEditorComponent SchemaRegistry="SchemaSet"
SchemaName="person"
@bind-Mode="_editorMode"
ValueChanged="OnValueChanged"
Labels="JsonEditorLabels.Swedish" />
@code {
private EditorMode _editorMode = EditorMode.Visual;
private void OnValueChanged(object? value)
{
// value är en genererad C#-klass, t.ex. BlazorToolkit.Generated.Person
if (value != null)
{
var json = JsonSerializer.Serialize(value, value.GetType(),
new JsonSerializerOptions { WriteIndented = true });
}
}
}