System.Text.Json integration for Purview.ZodSharp . Deserialize-and-validate JSON in a single pass, create validating
JsonConverter<T> instances, and import JSON Schema definitions (Z.FromJsonSchema).
dotnet add package Purview.ZodSharp.SystemTextJsonusing ZodSharp;
var userSchema = Z.Object()
.Field("name", Z.String().Min(3))
.Field("age", Z.Number().Min(0).Int())
.Build();
var json = """{ "name": "John", "age": 30 }""";
var result = userSchema.DeserializeAndValidate(json);
if (result.IsSuccess)
Console.WriteLine($"Valid: {result.Value}");Async stream overload:
await using var stream = File.OpenRead("user.json");
var result = await userSchema.DeserializeAndValidateAsync(stream);var converter = userSchema.CreateValidatingConverter();
var options = new JsonSerializerOptions { Converters = { converter } };
var value = JsonSerializer.Deserialize<User>(json, options);using ZodSharp;
using ZodSharp.JsonSchema.SystemTextJson;
var schema = Z.FromJsonSchema(jsonSchemaString);
var result = schema.Validate(data);This lets you share schemas defined in TypeScript/Zod with your .NET backend. (Export via Z.ToJsonSchema lives in the core package.)
MIT — see the package metadata in Purview.ZodSharp.SystemTextJson on NuGet.