RSSAmplifier

Blog

json-everything

Commentary on JSON things

blog.json-everything.netRSS feed ↗5 posts

Latest posts

All the Error Messages

The latest iteration of JsonSchema.Net, version 9.3.0, adds error messages to the output for all keywords that act as assertions. In this post I’d like to go into why they didn’t include these error messages before and why they absolutely should now. Error reporting in JSON Schema In the long-long-ago, there was no standardized output for JSON Schema. Implementations of JSON Schema could ou...

Better Schema-Compatible Data Generation

JsonSchema.Net.DataGeneration has received some significant upgrades. In this post, I’ll go over what’s changed, and how you can use this package to enhance your schema development workflow. New and improved! First let’s cover the small stuff. I added a bunch of tests that identified a few bugs, and added support for propertyNames. There is also added support for the allof/if/then patte...

Full Native AOT support for _JsonSchema.Net.Generation_ via Source Generators

When I (with help from .Net contributors) updated all of the libraries to support Native AOT, I wasn’t able to fully implement schema generation. The generation operated on some aspects of runtime reflection that Native AOT doesn’t support. The answer was compile-time source generation, but I didn’t know how to do that. Mostly, it was because I didn’t know how Roslyn analyzers worked. In th...

JsonSchema.Net.Api - JSON Schema Request Validation for ASP.Net

In a previous post, I talked about using JSON Schema validation in the ASP.Net pipeline. It utilizes schema generation, model binding, and filters to automatically validate controller payloads and return a 400 (Bad Request) with a problem details response. Now, that functionality is available to you as JsonSchema.Net.Api! In this post we’ll cover how to set up this package and what it does. ...

Why Is Everything So Expensive?!

I’ve spent the past 15 years building open source software in my spare time, most of it in support of JSON in .Net. That work has spanned 17 families of Nuget packages (42 unique packages total) with over 140 million total downloads, and all of it completely free. Some time ago, more from a curiosity of the possible than anything else, I set up my GitHub Sponsors page. While hoping voluntary ...