Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/json-schema-org/json-schema-spec
The JSON Schema specification
https://github.com/json-schema-org/json-schema-spec
api-documentation json json-schema jsonschema validation
Last synced: 29 days ago
JSON representation
The JSON Schema specification
- Host: GitHub
- URL: https://github.com/json-schema-org/json-schema-spec
- Owner: json-schema-org
- License: other
- Created: 2015-06-24T12:48:04.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T15:33:57.000Z (7 months ago)
- Last Synced: 2024-04-14T10:15:57.354Z (7 months ago)
- Topics: api-documentation, json, json-schema, jsonschema, validation
- Language: JavaScript
- Homepage: http://json-schema.org/
- Size: 3.3 MB
- Stars: 3,175
- Watchers: 98
- Forks: 239
- Open Issues: 127
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome - json-schema-spec - The JSON Schema I-D sources (Makefile)
- my-awesome - json-schema-org/json-schema-spec - documentation,json,json-schema,jsonschema,validation pushed_at:2024-10 star:3.8k fork:0.3k The JSON Schema specification (JavaScript)
- jimsghstars - json-schema-org/json-schema-spec - The JSON Schema specification (JavaScript)
- trackawesomelist - JSON Schema (⭐3.6k) (⭐3.6k) - A powerful tool for validating the structure of JSON data. JSON Schema enables developers to ensure that JSON data conforms to a specific structure, making it easier to process and manipulate. (Recently Updated / [Sep 04, 2024](/content/2024/09/04/README.md))
README
# Welcome to JSON Schema
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/json-schema-org/.github/blob/main/CODE_OF_CONDUCT.md) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Financial Contributors on Open Collective](https://opencollective.com/json-schema/all/badge.svg?label=financial+contributors)](https://opencollective.com/json-schema)JSON Schema is a vocabulary that allows you to validate, annotate, and manipulate JSON documents.
This repository contains the sources for the **work in progress** of the next set of JSON Schema IETF Internet Draft (I-D) documents.
For the latest released I-Ds, please see the [Specification page](http://json-schema.org/specification.html) on the website.## Call for contributions and feedback
Reviews, comments and suggestions are most welcome!
Please read our [guidelines for contributing](CONTRIBUTING.md).## Status
For the current status of issues and pull requests, please see the following labels[![Available](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20Available.svg?color=brightgreen)](https://github.com/json-schema-org/json-schema-spec/issues?q=is%3Aopen+is%3Aissue+label%3A%22Status%3A+Available%22) [![In Progress](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20In%20Progress.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Status:%20In%20Progress) [![Review Needed](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20Review%20Needed.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Status%3A%20Review%20Needed)
[![Critical](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Critical.svg?color=critical
)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Critical) [![High](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20High.svg?color=important)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20High) [![Medium](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Medium.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Medium) [![Low](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Low.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Low)Labels are assigned based on [Sensible Github Labels](https://github.com/Relequestual/sensible-github-labels).
## Authoring and Building
### Specification
To build the spec files to HTML from the Markdown sources, run `npm run
build-all`.
You can also build each individually with `npm run build -- filename.md`
(Example: `npm run build -- jsonschema-core.md`). You can also use wildcards to
build multiple specs at the same time: `npm run build -- jsonschema-*.md`.The spec is built using [Remark](https://remark.js.org/), a markdown engine with
good support for plugins and lots of existing plugins we can use.#### Plugins
The following is a not-necessarily-complete list of configured plugins and the
features they make available to you.- [remark-lint](https://github.com/remarkjs/remark-lint) -- Enforce markdown
styles guide.
- [remark-validate-links](https://github.com/remarkjs/remark-validate-links) --
Check for broken links.
- [remark-gfm](https://github.com/remarkjs/remark-gfm) -- Adds support for
Github Flavored Markdown specific markdown features such as autolink literals,
footnotes, strikethrough, tables, and tasklists.
- [remark-heading-id](https://github.com/imcuttle/remark-heading-id) -- Adds
support for `{#my-anchor}` syntax to add an `id` to an element so it can be
referenced using URI fragment syntax.
- [remark-headings](/json-schema-org/json-schema-spec/blob/main/remark-headings.js)
-- A collection of enhancements for headings.
- Adds hierarchical section numbers to headings.
- Use the `[Appendix]` prefix on headings that should be numbered as an
appendix.
- Adds id anchors to headers that don't have one
- Example: `#section-2-13`
- Example: `#appendix-a`
- Makes the heading a link utilizing its anchor
- [remark-reference-links](/json-schema-org/json-schema-spec/blob/main/remark-reference-link.js)
-- Adds new syntax for referencing a section of the spec using the section
number as the link text.
- Example:
```markdown
## Foo {#foo}## Bar
This is covered in {{foo}} // --> Renders to "This is covered in [Section 2.3](#foo)"
- Link text will use "Section" or "Appendix" as needed
```
- [remark-table-of-contents](/json-schema-org/json-schema-spec/blob/main/remark-table-of-contents.js)
-- Adds a table of contents in a section with a header called "Table of
Contents".
- [remark-code-titles](/json-schema-org/json-schema-spec/blob/main/remark-code-titles.js)
-- Add titles to code blocks
- Example:
```markdown
\`\`\`jsonschema "My Fun Title"
{ "type": "string" }
\`\`\`
```
- The languages `jsonschema` and `json` have special styling
- The title will be parsed as a JSON string, but you have to double escape
escaped characters. So, to get `My "quoted" title`, you would need to be
`"My \\\\"quoted\\\\" title"`.
- [remark-torchlight](https://github.com/torchlight-api/remark-torchlight) --
Syntax highlighting and more using https://torchlight.dev. Features include
line numbers and line highlighting.
- [remark-flexible-containers](https://github.com/ipikuka/remark-flexible-containers)
-- Add a callout box using the following syntax. Supported container types are
`warning`, `note`, and `experimental`.```
::: {type} {title}
{content}
:::
```### Internet-Drafts
To build components that are being maintained as IETF Internet-Drafts, run
`make`. The Makefile will create the necessary Python venv for you as part of
the regular make target.`make clean` will remove all output including the venv. To clean just the spec
output and keep the venv, use `make spec-clean`.If you want to run `xml2rfc` manually after running make for the first time, you
will need to activate the virtual environment: `source .venv/bin/activate`.The version of "xml2rfc" that this project uses is updated by modifying
`requirements.in` and running `pip-compile requirements.in`.Descriptions of the xml2rfc, I-D documents, and RFC processes:
* https://xml2rfc.tools.ietf.org/authoring/draft-mrose-writing-rfcs.html
* https://www.ietf.org/tao.html
* https://www.ietf.org/ietf-ftp/1id-guidelines.html
* https://www.rfc-editor.org/rfc/rfc7322.txt## Test suites
Conformance tests for JSON Schema and its vocabularies may be found
[in their own repository](https://github.com/json-schema-org/JSON-Schema-Test-Suite).## The website
The JSON Schema web site is at http://json-schema.org/
The source for the website is [maintained in a separate repository](https://github.com/json-schema-org/website).
## Contributors
### Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
### Financial Contributors
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/json-schema/contribute)]
#### SponsorsHere are our top sponsors. You could be next! [[Become a sponsor](https://opencollective.com/json-schema#sponsor)]
#### Individuals
## License
The contents of this repository are [licensed under](./LICENSE) either the BSD 3-clause license *or* the Academic Free License v3.0.