Home
json-everything
Cancel

Parallel Processing in JsonSchema.Net

This post wraps up (for now) the adventure of updating JsonSchema.Net to run in an async context by exploring parallel processing. First, let’s cover the concepts in JSON Schema that allow paralle...

The "Try" Pattern in an Async World

Something I ran across while converting JsonSchema.Net from synchronous to asynchronous is that the “try” method pattern doesn’t work in an async context. This post explores the pattern and attemp...

JSON Schema, But It's Async

The one thing I don’t like about how I’ve set up JsonSchema.Net is that SchemaRegistry.Fetch only supports synchronous methods. Today, I tried to remedy that. This post is a review of those prosp...

Numbers Are Numbers, Not Strings

A common practice when serializing to JSON is to encode floating point numbers as strings. This is done any time high precision is required, such as in the financial or scientific sectors. This a...

JSON Path Has a New Spec!

IETF are submitting a new RFC to formalize the well-known JSON Path query syntax, originally proposed by Stephan Goëssner in 2008. A brief history The effort to build a specification started afte...

JSON Deserialization with JSON Schema Validation

This past weekend, I wondered if it was possible to validate JSON as it was being deserialized. For streaming deserialization, this is very difficult, if not impossible. It’s certainly not someth...

Null Has Value, Too

If you want to build JSON structures in your programming language, you need a data model. For .Net, that model exists in the System.Text.Json.Nodes namespace as JsonNode and its derived types, Jso...

JSON Path vs JSON Pointer

JSON Path and JSON Pointer are two different syntaxes that serve two different purposes. JSON Path is a query syntax that’s used to search JSON data for values that meet specified criteria. J...

Episode IV: A New Blog

Welcome to the new json-everything blog! This will be a place where I can write about all things JSON. Most of the time, it’ll be a place where I can answer common questions so I have somewhere t...