JSON Blue
A place to collect stuff related to JSON
This is JSON Blue, a small website to collect JSON stuff. Including standard document, variant data format, tools, application and some history document. If you found anything missing and deserver to list on here. Please report an issue on GitHub.
Table of Contents
- Specification
- Schemas
- Data in JSON Format
- Variant Format
- Related Format
- Protocol
- Tool
- Application
- Database
- More
Specification
JSON Specs
- JSON by Douglas Crockford. Also have a list of implementations in different languages.
- Logo
- ECMA 404 The JSON Data Interchange Syntax
- RFC 4627
- RFC 7493 I-JSON(Internet JSON) is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.
- RFC 8259/STD90 Story of this RFC: The Last JSON Spec
Other Specs Related to JSON
- RFC 6901 JSON Pointer
- RFC 6902 JSON Patch
- RFC 7396 JSON Merge Patch
- RFC 9535 JSONPath: Query Expressions for JSON
More at RFC
Schemas
- RFC 8785 JCS: JSON Canonicalization Scheme
- RFC 8610 CDDL: Concise Data Definition Language
- RFC 8927 JSON Typedef
- JSON Schema is a vocabulary that allows you to annotate and validate JSON documents. Implementations.
- JSON Schema Markdown Tools makes it easier by providing a number of scripts that can turn JSON Schema files into readable Markdown documentation that is ready for consumption on GitHub or processed using Jekyll or other static site generators.
- TJSON(Tagged JSON) s a tagging scheme/microformat for enriching the types that can be stored in JSON documents. It augments the existing types present in JSON, codifiying ad hoc practices already commonly used for processing JSON into a schema-free, self-describing format.
Data in JSON Format
- RFC 7095 jCard: The JSON Format for vCard
- RFC 7265 jCal: The JSON Format for iCalendar
- RFC 7946 GeoJSON is a format for encoding a variety of geographic data structures.
- RFC 8984 JSCalendar: A JSON Representation of Calendar Data
- TopoJSON is an extension of GeoJSON that encodes topology.
- JSON-LD is a lightweight Linked Data format.
- JSON-stat is a simple lightweight JSON dissemination format best suited for data visualization, mobile apps or open data initiatives, that has been designed for all kinds of disseminators.
- i18n next JSON i18next is an internationalization-framework written in and for JavaScript.
- SPARQL is a set of standards for the query and update of RDF data, along with ways to access such data over the web. This document describes the representation of SELECT and ASK query results using JSON.
- CoverageJSON is a data format for describing “coverage” data in JavaScript Object Notation (JSON), and provides an overview of its design and capabilities.
- NetJSON is a data interchange format based on JavaScript Object Notation (JSON) designed to describe the basic building blocks of layer2 and layer3 networking.
- OpenAPI defines a standard, programming language-agnostic interface description for REST APIs
- JSON Feed a format similar to RSS and Atom but in JSON.
- JSON Canvas an open file format for infinite canvas data.
Encryption
- JOSE
- objecthash A way to cryptographically hash objects (in the JSON-ish sense) that works cross-language. And, therefore, cross-encoding.
Variant Format
Formats Similar to JSON.
- Hjson is a syntax extension to JSON. It’s NOT a proposal to replace JSON or to incorporate it into the JSON spec itself. It’s intended to be used like a user interface for humans, to read and edit before passing the JSON data to the machine.
- RSON file format is easy to edit, diff, and version control, that is a superset of JSON and smaller than YAML.
- rsonlite is the easiest way to create custom indented data file formats in Python. It is a single small module that can be shipped with your application, or it can be easy-installed or pipped from PyPI.
- LJSON JSON extended with pure functions.
- LJSON(Loose JSON) a superset of JSON with a loose format requirement.
- JSON Lines also called newline-delimited JSON. JSON Lines is a convenient format for storing structured data that may be processed one record at a time.
- Jsonnet A data templating language for app and tool developers.
- JSON5 The JSON5 Data Interchange Format (JSON5) is a superset of JSON that aims to alleviate some of the limitations of JSON by expanding its syntax to include some productions from ECMAScript 5.1.
- HOCON(Human-Optimized Config Object Notation) is a format for human-readable data, and a superset of JSON and .properties.
- Rison is a data format focus on URL friendly and compact. The structure is like JSON, but use different character for notation.
- JSONC JSON with Comments. parser
Related Format
Not Similar to JSON, but related to it.
- Mark is a new unified notation for both object and markup data. The notation is a superset of what can be represented by JSON, HTML and XML, but overcomes many limitations these popular data formats, yet still having a very clean syntax and simple data model.
Binary
- RFC 8949 CBOR: Concise Binary Object Representation
- MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON.
- BSON short for Binary JSON, is a binary-encoded serialization of JSON-like documents.
- BJSON is binary form of JSON.
- UBJSON(Universal Binary JSON) The universally compatible format specification for binary JSON.
XML
- JXON (lossless JavaScript XML Object Notation) is a generic name by which is defined the representation of JavaScript Objects using XML.
- JSONx is an IBM® standard format to represent JSON as XML.
Markdown
- MSON is a plain-text, human and machine readable, description format for describing data structures in common markup formats such as JSON, XML or YAML.
General
- YAML is a human-readable data serialization language.
- TOML aims to be a minimal configuration file format that’s easy to read due to obvious semantics.
Protocol
- JSON API
- JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol.
- JSONP(JSON with Padding is used to request data from a server residing in a different domain than the client.
- HAL(Hypertext Application Language) is a simple format that gives a consistent and easy way to hyperlink between resources in your API.
- Collection+JSON is a JSON-based read/write hypermedia-type designed to support management and querying of simple collections.
- OData JSON Format
- JSON Graph is a convention for modeling graph information as a JSON object. Applications that use Falcor represent all their domain data as a single JSON Graph object.
Tool
- JSONiq is a query and processing language specifically designed for the popular JSON data model.
- JSONDiffPatch
- JSONLint
- JSON Formatter was created to help with debugging. As JSON data is often output without line breaks to save space, it is extremely difficult to actually read and make sense of it.
- jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.
- gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute ‘path’ to it.
- JSON Generator tool for generate random JSON data.
- fx is another command-line JSON processing tool.
- Ajv JSON validation tool supports JSON Schema and JSON Typedef
- JSON Typedef tools
- jless
Application
JOSE (JSON Object Signing and Encryption) Working Group
- RFC 7515 JSON Web Signature
- RFC 7516 JSON Web Encryption
- RFC 7517 JSON Web Key
- RFC 7518 JSON Web Algorithm
- RFC 7519 JSON Web Token
- JWT, JWS, JWE, JWK, and JWA Implementations A list maintained by OpenID foundation.
- https://jwt.io/ allows you to decode, verify and generate JWT. Also have a list of implementations.
What is JOSE
- Charter for Working Group
- Critical vulnerabilities in JSON Web Token libraries
- JSON Web Token in Chinese
Alternative
- PASETO is everything you love about JOSE (JWT, JWE, JWS) without any of the many designed deficits that plague the JOSE standards.
Database
More
Article
- The Rise and Rise of JSON
- Parsing JSON is a Minefield 💣
- JSON as configuration files: please don’t
- JSON Universe in Chinese
ECMAScript
- Subsume JSON A proposal to extend ECMA-262 syntax into a superset of JSON.
History
Comments in JSON exists at first
Comments in JSON
I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn’t.
Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser.
Douglas Crockford
Discovering JavaScript Object Notation with Douglas Crockford
Blue?
Its hard to find a good domain available. And I love the color blue. Also, I am a fan of Dragon Ball. Super Saiyan Blue is very powerful. So I take the name.