Clemens Vasters

Introducing JSON Structure - A Better Schema

JSON Schema is a validation language, not a data definition language. This talk introduces a new specification designed to finally fix that.

Introducing JSON Structure - A Better Schema
#1about 5 minutes

Why JSON Schema fails as a data definition language

JSON Schema's complexity with validation constructs like `allOf` and `anyOf` makes it a poor choice for defining data types, leading to a stalled standard.

#2about 2 minutes

Introducing JSON Structure as a type definition language

JSON Structure refactors JSON Schema into a strict type definition language with required types, named objects, and new built-in primitive types for better code generation.

#3about 2 minutes

Using new compound types like map and tuple

JSON Structure introduces formal compound types like `map` for dictionaries and `tuple` for creating efficient, compact wire formats for time-series data.

#4about 4 minutes

Defining discriminated unions and organizing types

Use the `choices` keyword for formal discriminated unions and organize schemas with namespaces and a restricted `$ref` for cleaner mapping to programming languages.

#5about 3 minutes

Managing dependencies with imports and explicit inheritance

Separate file inclusion from type referencing with `$import` and use `abstract` and `extends` for clear, unambiguous type inheritance.

#6about 4 minutes

Extending schemas with companion specifications

Add functionality through optional companion specs for internationalization, scientific units, currencies, and even re-introducing validation rules from JSON Schema.

#7about 2 minutes

How to get involved with the JSON Structure standard

JSON Structure is a new IETF draft, and community participation through filing issues and providing feedback at jsonstructure.org is encouraged.

Related jobs
Jobs that call for the skills explored in this talk.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Remote
Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Full Stack Engineer

Full Stack Engineer

Climax.eco
Rotterdam, Netherlands

70-100K
Senior
TypeScript
PostgreSQL
Cloud (AWS/Google/Azure)
Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust