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.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.