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 });
        }
    }
}
An unhandled error has occurred. Reload X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.