Home
json-everything
Cancel

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 Stefan Gössner in 2008. A brief history The effort to build a specification started after ...

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...