Awesome Lists

awesome-jsonschema

by sourcemeta

awesome listHandlebarspushed about 2 years ago

A curated list of awesome JSON Schema resources, tutorials, tools, and more

AI summary

JSON resource hub

A curated collection of resources and tools for working with JSON Schema

stars
129
forks
4
watching
11
awesome lists
3
entries
187
View on GitHubjson-schema.org

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/sourcemeta/awesome-jsonschema/links.svg)](https://awesome.facts.dev/awesome/sourcemeta/awesome-jsonschema)
HTML
<a href="https://awesome.facts.dev/awesome/sourcemeta/awesome-jsonschema"><img src="https://awesome.facts.dev/shield/sourcemeta/awesome-jsonschema/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/sourcemeta/awesome-jsonschema/links.svg

What's in the list

187 links in 13 sections, with live GitHub stats.activeno commit in 2y

Official

  • GitHub

    The official GitHub organization of the JSON Schema project

  • GitHub Discussions

    The discussions page of JSON Schema

  • Slack

    The official Slack workspace of JSON Schema

  • Stack Overflow

    The JSON Schema tag in Stack Overflow

  • Test Suite

    The official test suite for JSON Schema implementations

  • Twitter

    The Twitter account of the JSON Schema project

  • YouTube

    The JSON Schema official YouTube channel

Getting Started

Vocabularies

  • Accessing Data Stored in JSON

    A vocabulary defining keywords that can be used to reference values stored in the instance data, the schema data and external JSON data where the dereferenced values serve as input for keywords in a derived subschema

  • Hyper-Schema 2019-09

    Keywords to annotate JSON documents with hyperlinks. These hyperlinks include attributes describing how to manipulate and interact with remote resources through hypermedia environments such as HTTP, as well as determining whether the link is usable based on the instance value

  • JSON Schema 2020-12 Applicator

    Applicator keywords that are recommended for use as the basis of other vocabularies

  • JSON Schema 2020-12 Content

    Annotations keywords that indicate that an instance contains non-JSON data encoded in a JSON string

  • JSON Schema 2020-12 Core

    Keywords that are either required in order to process any schema or meta-schema, including those split across multiple documents, or exist to reserve keywords for purposes that require guaranteed interoperability

  • JSON Schema 2020-12 Format Annotation

    An annotation keyword defined to allow schema authors to convey semantic information for a fixed subset of values which are accurately described by authoritative resources

  • JSON Schema 2020-12 Format Assertion

    An assertion keyword defined to allow schema authors to convey semantic information for a fixed subset of values which are accurately described by authoritative resources

  • JSON Schema 2020-12 Meta-Data

    These general-purpose annotation keywords provide commonly used information for documentation and user interface display purposes

  • JSON Schema 2020-12 Unevaluated

    Keywords that enable schema authors to apply subschemas to array items or object properties that have not been successfully evaluated against any dynamic-scope subschema of any adjacent keywords

  • JSON Schema 2020-12 Validation

    Validation keywords in a schema impose requirements for successful validation of an instance. These keywords are all assertions without any annotation behavior

  • Uniqueness of Array Items

    A vocabulary defining keywords that can be used to validate that arrary instances contain unique values as determined by one or more given paths within each item

Registries

  • AsyncAPI Schemas

    This repository contains all the JSON Schema documents for validating AsyncAPI documents

  • Conda Schemas

    Conda file formats and schemas

  • Intelligence.AI Schemas

    A schema registry by Intelligence.AI

  • KrakenD Schemas

    This repository contains the source code used to publish KrakenD's configuration schemas

  • OCSF Schemas

    This repository defines the Open Cybersecurity Schema Framework (OCSF) schema. OCSF is a framework for creating schemas and it also delivers a cybersecurity event schema built with the framework

  • SchemaStore

    The largest collection of independent JSON schemas in the world meant as a universal JSON schema store, where schemas for popular JSON documents can be found

Adoption

  • Adobe Experience Manager

    The Adobe Experience Manager content management solution for building websites, mobile apps and forms supports creating adaptative forms using JSON Schema

  • Amazon EventBridge Schema Registry

    Amazon EventBridge Schema Registry has support for JSON Schema, allowing customers to validate, annotate, and manipulate JSON documents conforming to JSON Schema Draft 4 specification

  • Apiary

    Apiary's interactive documentation is able to render JSON Schema documents associated with payloads

  • Assertible

    Assertible provides a free-to-use API to validate a JSON document against a JSON Schema and a service to test and monitor web services using JSON Schema

  • Axway API Gateway

    The API Gateway can check that JavaScript Object Notation (JSON) messages conform to the format expected by a web service by validating requests against a specified JSON schema

  • Cloudflare

    The Cloudflare makes use of JSON Schema and Hyper Schema to keep track of their API endpoints

  • Cloudflare Terraform

    The Cloudflare Terraform provider comes with a tool to generate Terraform configuration from existing Cloudflare resources that uses JSON Schema to map data between both technologies

  • Confluent Schema Registry

    JSON Schema can be configured with the Apache Kafka Java client and console tools to fail if the payload is not valid for the given schema

  • Contentstack

    The Contentstack CMS platform supports creating content types using JSON Schema

  • Decisions

    The Decisions rules-driven business process automation platform support using JSON Schema to generate JSON deserializers

  • DocSpring

    The DocSpring service to automatically fill out PDF forms supports generating JSON Schema definitions for user-created templates

  • Drupal Patternkit

    The Drupal Patternkit module uses JSON Schema to define pattern templates

  • Form.io

    The Form.io online web form generator supports generating Angular.js forms using JSON Schema

  • Genomic Data Commons

    The Genomic Data Commons data model is defined using JSON Schema

  • Hackolade

    The Hackolade data modelling service supports defining entities using JSON Schema

  • Heroku

    Heroku makes use of JSON Schema to publish machine-readable schema definitions for their public APIs

  • Human Cell Atlas

    The open data generated by the Human Cell Atlas describes metadata structure using JSON Schema

  • IBM App Connect

    The Graphical Data Mapping editor can be used to create and transform JSON messages with the data model defined from a JSON schema

  • Informatica

    The Informatica data management platform supports creating auto-generated data processor transformations using JSON Schema

  • JSON BinPack

    JSON BinPack uses JSON Schema to perform space-efficient JSON binary serialization

  • JSON:API

    The JSON:API 1.0 and later specifications for building APIs in JSON use JSON Schema to define JSON:API responses

  • JamF

    The JamF Apple enterprise management service supports creating app manifests using JSON Schema

  • JetBrains

    The suite of JetBrains programming editors supports JSON code-completion based on JSON Schema

  • KrakenD

    KrakenD endpoints receiving a JSON object in its body can apply automatic validations using the JSON Schema vocabulary before the content passes to the backends

  • Lightblue.io

    The Lightblue document based data access layer framework uses JSON Schema to define certain file resources in the project

  • Linux

    The Linux kernel uses JSON Schema to define Devicetree bindings

  • Manfred

    Manfred uses JSON Schema to define their APIs and their open CV format

  • Microsoft

    A collection of JSON Schema definitions used by products and services at Microsoft

  • MongoDB

    MongoDB 3.6 and later support JSON Schema for querying data and defining collection constraints

  • Mozilla Data Pipeline

    Mozilla Data Pipeline uses JSON Schema to define telemetry data ingested from Mozilla products and logs from various services

  • MuleSoft

    The MuleSoft integration framework supports validating a JSON document against a JSON Schema

  • MySQL

    MySQL 8.0.17 and later support table constraints to validate a JSON document against a JSON Schema

  • Nakadi

    The Nakadi open-source distributed event bus supports defining event types with JSON Schema

  • National Cancer Institute

    The National Cancer Institute uses JSON Schema to model entities for their Genomic Data Commons collection

  • NinJS

    NinJS standardises the representation of news content in JSON and maintains a JSON Schema document to help validate NinJS implementations

  • Open Policy Agent (OPA)

    The OPA policy-based control platform 0.27.0 and newer support statically type-checking Rego policy code using JSON Schema

  • Ory Kratos

    The Ory Kratos identity & user management product relies on JSON Schema from configuration validation, documentation generation for defining identity schemas

  • Postman

    The Postman API platform supports running JSON Schema validation in API tests

  • RDA DMP Common Standard for machine-actionable Data Management Plans

    The RDA DMP Common Standards Working Group maintains JSON Schemas to validate maDMP JSON documents

  • RESTHeart

    RESTHeart supports MongoDB schema validation to enforce a format to documents: rules-based validation from MongoDB 3.2 and Json Schema validation from MongoDB 3.6

  • Remote

    Remote uses JSON Schema to perform form generation and data validation in their frontend and backend systems

  • Retool

    The Retool no-code platform supports generating web forms using JSON Schema

  • Serverless

    The Serverless framework validates service configuration files using JSON Schema

  • Smart Data Models

    The Smart Data Models GitHub organization makes use of JSON Schema to describe harmonized Data Models for different Smart Domains

  • Snowplow

    The Snowplow analytics platform support using JSON Schema to define the structure of the data to collect

  • SpreadJS

    The SpreadJS JavaScript spreadsheet library uses JSON Schema to describe the SpreadJS JSON data format

  • TILT (machine-readable privacy policies)

    TILT is a transparency information language and toolkit powered by JSON Schema explicitly designed to represent and process transparency information in line with the requirements of the EU General Data Protection Regulation and allowing for a more automated and adaptive use of such information than established, legalese data protection policies do

  • U.S. Department of Commerce

    The National Institute of Standards and Technology uses JSON Schema Draft 7 to model Open Security Controls Assessment Language (OSCAL) JSON documents

  • Walmart eCommerce

    Walmart publishes JSON Schema documents for certain resources that developers can make use of when integratting with the Walmart eCommerce platform

  • Wordpress

    Wordpress maintains official JSON Schema documents to help with building block based themes

  • Zapier

    Zapier maintains a large set of JSON Schema definitions that define its platform

  • Zuplo

    The Zuplo API gateway provides JSON Schema validation and supports generating API documentation out of OpenAPI specifications

  • nf-core

    The nf-core Nextflow analysis pipelines collection uses JSON Schema to define the parameters used by Nextflow workflows

Articles

Specifications

  • AsyncAPI

    (2021) - AsyncAPI is an open source initiative that seeks to improve the current state of Event-Driven Architectures (EDA). The AsyncAPI specification supports data modeling using JSON Schema

  • JSON Schema in RDF

    (2021) - This document introduces an RDF vocabulary for JSON schema definitions. This vocabulary provides a stable namespace IRI for JSON schema keywords, as well as simple axioms, defined against schema.org's meta-model. Various examples on how to use the vocabulary are also introduced, e.g. to annotate schemas with JSON-LD metadata or to embed schema annotations inside RDF graphs

  • OpenAPI

    (2021) - The OpenAPI specification embeds and extends JSON Schema for defining API request and responses

  • RAML

    (2021) - The RAML specification supports modeling API data using JSON Schema

  • JSON Schema Core 2020-12

    (2020) - JSON Schema defines the media type "application/schema+json", a JSON-based format for describing the structure of JSON data. JSON Schema asserts what a JSON document must look like, ways to extract information from it, and how to interact with it. The "application/schema-instance+json" media type provides additional feature-rich integration with "application/schema+json" beyond what can be offered for "application/json" documents

  • JSON Schema Validation 2020-12

    (2020) - JSON Schema (application/schema+json) has several purposes, one of which is JSON instance validation. This document specifies a vocabulary for JSON Schema to describe the meaning of JSON documents, provide hints for user interfaces working with JSON data, and to make assertions about what a valid document must look like

  • Relative JSON Pointers

    (2020) - JSON Pointer is a syntax for specifying locations in a JSON document, starting from the document root. This document defines an extension to the JSON Pointer syntax, allowing relative locations from within the document

  • W3C Web of Things

    (2020) - The Web of Things (WoT) seeks to counter the fragmentation of the IoT by using and extending existing, standardized Web technologies. WoT models data using JSON Schema

  • JSON Hyper-Schema

    (2019) - JSON Schema is a JSON-based format for describing JSON data using various vocabularies. This document specifies a vocabulary for annotating JSON documents with hyperlinks. These hyperlinks include attributes describing how to manipulate and interact with remote resources through hypermedia environments such as HTTP, as well as determining whether the link is usable based on the instance value

Books

  • Unifying Business, Data, and Code: Designing Data Products with JSON Schema

    (2024) - Covers topics such as writing your own JSON Schema vocabularies, understanding JSON Schema annotations, and hosting your own JSON Schema registries. More importantly, our book teaches you a methodology for effective data management

  • API by Design

    (2021) - Introduces an approach to measure API complexity by analyzing entropy in JSON Schema definitions

  • JSON at Work

    (2017) - A comprehensive overview of the JSON ecosystem, including JSON Schema

  • Using JSON Schema

    (2014) - Learn and Apply JSON Schema by Example, with JavaScript (Node.js) and Python Programs

Courses

Videos

Podcasts

  • API Lifecycles, Specifications, and Standards with Kin Lane

    (2021) - Thomas Betts talks with Kin Lane about managing your API lifecycle using standards and specifications, including OpenAPI, AsyncAPI, and JSON Schema. These specifications and the tooling based on them can help reduce communication problems, by creating documentation, generating code, and automating testing

Papers

  • Validation of Modern JSON Schema: Formalization and Complexity

    (2024) - In this paper, we give the first formal description of Modern JSON Schema, which we consider a central contribution of the work that we present here. We then prove that its data validation problem is PSPACE-complete. We prove that the origin of the problem lies in dynamic references, and not in annotation-dependent validation. We study the schema and data complexities, showing that the problem is PSPACE-complete with respect to the schema size even with a fixed instance, but is in PTIME when the schema is fixed and only the instance size is allowed to vary. Finally, we run experiments that show that there are families of schemas where the difference in asymptotic complexity between dynamic and static references is extremely visible, even with small schemas

  • JSONoid: Monoid-based Enrichment for Configurable and Scalable Data-Driven Schema Discovery

    (2023) - Meaningful schema information for semi-structured data

  • JSONoid: Distributed JSON Schema Discovery

    (2023) - A tool for distributed JSON schema discovery including many properties of the data

  • Comprehending Semantic Types in JSON Data with Graph Neural Networks

    (2023) - Graph neural networks for semantic type detection in JSON

  • An Analysis of Defects in Public JSON Schemas

    (2023) - Analysis of common defects found in publicly available schemas leading to recommend changes to the spec

  • Witness Generation for JSON Schema

    (2022) - JSON Schema is an important, evolving standard schema language for families of JSON documents. It is based on a complex combination of structural and Boolean assertions, and features negation and recursion. The static analysis of JSON Schema documents comprises practically relevant problems, including schema satisfiability, inclusion, and equivalence. These three problems can be reduced to witness generation: given a schema, generate an element of the schema, if it exists, and report failure otherwise

  • Validating Streaming JSON Documents with Learned VPAs

    (2022) - This paper presents a new streaming algorithm to validate JSON documents against a set of constraints given as a JSON schema. It proves that there always exists a visibly pushdown automaton (VPA) that accepts the same set of JSON documents as a JSON schema

  • The Usage of Negation in Real-World JSON Schema Documents

    (2022) - Many software tools, but also formal frameworks for working with JSON Schema, do not fully support negation. This motivates us to study whether negation is actually used in practice, for which aims, and whether it could, in principle, be replaced by simpler operators. We have collected a large corpus of 80k open source JSON Schema documents. We perform a systematic analysis, quantify usage patterns of negation, and also qualitatively analyze schemas. We show that negation is indeed used, albeit infrequently, following a stable set of patterns

  • JSON BinPack: A space-efficient schema-driven and schema-less binary serialization specification based on JSON Schema

    (2022) - A survey and benchmark of JSON-compatible binary serialization specifications followed by the introduction of JSON BinPack, a novel protocol-independent schema-driven and schema-less binary serialization specification that is strictly-compatible with JSON and takes advantage of JSON Schema formal definitions to produce bit-strings that are space-efficient in comparison to every considered alternative serialization specification

  • Implicit JSON Schema Versioning Triggered by Temporal Updates to JSON-Based Big Data in the τJSchema Framework

    (2022) - This paper proposes an approach for handling implicit schema changes triggered by temporal updates of JSON-based Big Data. More precisely, when a user specifies a temporal JSON update operation that modifies a snapshot JSON component assigning a valid-time timestamp to its new value, the execution of such an operation requires the JSON component to become temporal, which is for all intents a schema change. Thus, a new version of the τJSchema temporal characteristics document is generated, with the addition of a new valid-time characteristic. New versions of the temporal JSON schema and of the temporal JSON document are also accordingly created

  • TILT: A GDPR-Aligned Transparency Information Language and Toolkit for Practical Privacy Engineering

    (2021) - We present TILT, a transparency information language and toolkit explicitly designed to represent and process transparency information in line with the requirements of the GDPR and allowing for a more automated and adaptive use of such information than established, legalese data protection policies do

  • Not Elimination and Witness Generation for JSON Schema

    (2021) - In this paper, we present an algebraic characterization of JSON Schema, obtained by adding opportune operators, and by mirroring existing ones. We present then algebra-based approaches for dealing with not-elimination and witness generation problems, which play a central role as they lead to solutions for the other mentioned complex problems

  • Fast Discovery of Nested Dependencies on JSON Data

    (2021) - Efficient dependency mining algorithms for non-relational data

  • Enhancing JSON Schema Discovery by Uncovering Hidden Data

    (2021) - Enhancing discovered JSON Schemas by disambiguating data and metadata

  • Deriving Semantics-Aware Fuzzers from Web API Schemas

    (2021) - Discusses JSON Schema canonicalization and JSON Schema instance derivation in the context of property-based testing of APIs

  • Type Safety with JSON Subschema

    (2020) - Deciding whether one schema is a subschema of another is non-trivial because of the richness of the JSON Schema specification language. Given a pair of schemas, our approach first canonicalizes and simplifies both schemas, then decides the subschema question on the canonical forms, dispatching simpler subschema queries to type-specific checkers

  • JSON Schema Inference Approaches

    (2020) - In the context of document NoSQL databases, namely those assuming the JSON data format, this paper focuses on several representatives of the existing inference approaches and provide their thorough comparison

  • Challenges in Checking JSON Schema Containment over Evolving Real-World Schemas

    (2020) - This paper presents the results of an empirical study of the first generation of tools for checking JSON Schema containment which is applied to a diverse collection of over 230 real-world schemas and their altogether 1k historic versions

  • What Are Real JSON Schemas Like?

    (2019) - A first empirical analysis of a curated collection of real-world JSON Schemas. Knowing what real JSON Schemas are like (to borrow from a title of a related study on DTDs) helps practitioners and researchers in making realistic assumptions when building tools for JSON Schema processing

  • Top-Down Model-Driven Engineering of Web Services from Extended OpenAPI Models

    (2018) - Shows how OpenAPI can be extended to add implementation details inside models. These extensions link services to assemblies of components that describe computations. Hence a top-down development process that keeps model and implementation aligned

  • An Approach for Schema Extraction of JSON and Extended JSON Document Collections

    (2018) - This paper presents an approach that extracts a schema from a JSON or Extended JSON document collection stored in a NoSQL document-oriented database or other document repository. Aggregation operations are considered in order to obtain a schema for each distinct structure in the collection, and a hierarchical data structure is proposed to group these schemas in order to generate a global schema in JSON Schema format

  • Schema Inference for Massive JSON Datasets

    (2017) - Recent years have seen the widespread use of JSON as a data format to represent massive data collections. JSON data collections are usually schemaless. While this ensures several advantages, the absence of schema information has important negative consequences: the correctness of complex queries and programs cannot be statically checked, users cannot rely on schema information to quickly figure out structural properties that could speed up the formulation of correct queries, and many schema-based optimizations are not possible. In this paper we deal with the problem of inferring a schema from massive JSON data sets

  • Example-Driven Web API Specification Discovery

    (2017) - In this paper we present an example-driven discovery process that generates model-based OpenAPI specifications for REST Web APIs by using API call examples. A tool implementing our approach and a community-driven repository for the discovered APIs are also presented

  • Definition of REST web services with JSON schema

    (2017) - The aim of this article is to demonstrate how JSON Schema, and particularly the JSON Hyper Schema extension, is suitable to describe JSON-based web services that follow the REST architectural pattern

  • τJSchema: A Framework for Managing Temporal JSON-Based NoSQL Databases

    (2016) - This paper proposes a framework called Temporal JSON Schema (τJSchema), inspired by the τXSchema framework defined for XML data. τJSchema allows defining a temporal JSON schema from a conventional JSON schema and a set of temporal logical and physical characteristics. Our framework guarantees logical and physical data independence for temporal schemas and provides a low-impact solution since it requires neither modifications of existing JSON documents, nor extensions to the JSON format, the JSON Schema language, and all related tools and languages

  • Foundations of JSON Schema

    (2016) - In this paper we provide the first formal definition of syntax and semantics for JSON Schema and use it to show that implementing this layer on top of JSON is feasible in practice

  • Schema extraction and structural outlier detection for JSON-based nosql data stores

    (2015) - Rather than designing the schema up front, extracting a schema in hindsight can be seen as a reverse-engineering step. Based on the extracted schema information, we propose set of similarity measures that capture the degree of heterogeneity of JSON data and which reveal structural outliers in the data

  • Jsongen: a quickcheck based library for testing JSON web services

    (2014) - This article describes a systematic approach to testing behavioural aspects of Web Services that communicate using the JSON data format. To generate random JSON data for populating tests we have developed a new library, jsongen, which given a characterisation of the JSON data as a JSON schema, (i) automatically derives a QuickCheck generator which can generate an infinite number of JSON values that validate against the schema, and (ii) provides a generic QuickCheck state machine which is capable of following the (hyper)links documented in the JSON schema, to automatically explore the web service

  • User profile integration made easy: model-driven extraction and transformation of social network schemas

    (2012) - This paper presents, firstly, a semi-automatic approach to extract schema information from instance data. Secondly, transformations of the derived schemas to different technical spaces are utilized, thereby allowing, amongst other benefits, the application of established integration tools and methods. Finally, as a case study, schemas are derived for Facebook, Google+, and LinkedIn

Tools

  • TypedWebhook.tools

    An online webhook testing tool that is able to generate JSON Schema definitions out of incoming data

  • QuickType.io

    An online JSON Schema code-generation utility with diverse programming language support

  • JSONschema.Net

    An online tool that generates JSON schema from JSON documents

  • JSONSchema.dev

    An online JSON Schema validator created by the JSON Schema specification lead

  • JSONBuddy

    A JSON editor and validator desktop application for Windows

  • JSON Schema Viewer

    An online tool to visualize JSON Schema definitions

  • JSON Schema Validator and Generator

    An online JSON Schema validator that can generate JSON Schema from JSON documents and generate random JSON documents from JSON Schema

  • JSON Schema Validator

    An online JSON Schema validator with support for JSON Schema Draft 3, Draft 4, Draft 6, Draft 7 and Draft 2019-09

  • JSON Schema CLI

    The CLI for working with JSON Schema. Covers formatting, linting, testing, bundling, and more for both local development and CI/CD pipelines

  • Hyperjump JSON Schema Validator

    An online JSON Schema validator that supports Draft 04, 06, 07, 2019-09, and 2020-12

  • AlterSchema

    Convert a JSON Schema definition between specification versions

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.