Public View
Suggest
Download this page (.md) Download entire wiki (.zip)
Clone entire wiki

JSON

repo: burningtree/awesome-json
category: Miscellaneous
related: Graphql · Javascript


Awesome JSON Awesome

A curated list of awesome JSON libraries and resources.

Inspired by the awesome list.

Links


Applications

  • Dadroit JSON Viewer - Very fast JSON Viewer, supporting huge (multi gigabytes) files, JSON log (JSON-Lines and ndjson).

OS X

  • Visual JSON - simple JSON pretty-viewer for Mac OS X. (inactive)
  • JSONExport - convert a object to a class of one of the currently supported languages.

Binary Serialization

  • BSON - Binary JSON.
  • MessagePack - An extremely efficient object serialization library.
  • UBJSON - The universally compatible format specification for binary JSON.
  • CBOR - Concise Binary Object Representation.
  • PSON - Protocol JSON, super efficient binary serialization format.
  • JSON BinPack - Space-efficient binary JSON serialization format based on JSON Schema.

Browser Extensions

Chrome

Firefox

Safari

  • JSONAce (github) - Formats & syntax highlights JSON viewed inside of the web browser using the ACE editor.
  • JSONView (github) - A port of the JSONView Firefox extension that formats and syntax highlights JSON viewed inside of the browser

Command-line tools

  • dsq - Tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
  • fx - A interactive terminal tool.
  • jo - A small utility to create JSON objects
  • jsoncat - Pretty-print Json in terminal with colors and adjusting tabs size.
  • jq - A lightweight and flexible command-line JSON processor.
    • jaq - A jq clone focussed on correctness, speed, and simplicity. Written in Rust.
    • gojq - Pure Go implementation of jq. A bit faster and more portable.
  • livejq - An alternative jq implementation in rust for continuous parsing without crashing on invalid JSON
  • json - A "json" command for massaging JSON on your Unix command line.
  • json-search - A small tool to search for objects/values in json files.
  • jshon - A parser designed for maximum convenience within the shell.
  • jarg - Shorthand JSON and form encoding syntax in the shell.
  • jsawk - Like awk, but for JSON.
  • json-dotenv - Manipulate and extract envfiles in json format.
  • gron - Convert a JSON file into discrete assignments that are greppable.
  • jid - Incremental Digger. Drill down JSON interactively by using filtering queries like jq.
  • jiq - It's jid with jq. You can drill down interactively by using jq filtering queries.
  • jv - jv (for jsonviewer) helps you view your JSON.
  • jl - Functional sed for JSON.
  • oj - A fast and flexible command line JSON processor.
  • visidata - A terminal spreadsheet-like tool for interactively exploring data.
  • jc - Converts the output of many CLI tools, file-types, and common strings into JSON
  • logdy - jq, tail, less, grep and awk merged together and available in a clean web UI.

Databases

  • MongoDB - an open-source document database, and the leading NoSQL database.
  • RethinkDB - An open-source distributed document database with a pleasant and powerful query language.
  • EJDB - Embedded JSON Database engine published under MIT license. (C)
  • lowdb - Flat file database built on lodash API. (Javascript)
  • Lawnchair - A lightweight clientside document store. (Javascript)
  • JSON ODM - Object document mapper for JavaScript to use on the server or in the browser. (Javascript)
  • JSON Server - Get a full fake REST API with zero coding in less than 30 seconds.
  • Kinto - A lightweight JSON storage service with synchronisation and sharing abilities.
  • CouchDB - Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.
  • RxDB - Event-driven JSON-Database with JSON-Schema, mango-Query and CouchDB-sync. (Javascript)
  • JSONlite - A simple, self-contained, serverless, zero-configuration, json document store. (Bash)

Datasets

Data modeling

  • JSONModel - Magical Data Modelling Framework. (Objective-C)

Data generation

  • jsonymize - Reads data from standard input, anonymizes, then writes to standard output.
  • dyson - Server for dynamic, fake JSON. (node.js)

Differencing

  • JSONPatch - A format for describing changes to a document.
  • JSON-Patch - Lean and mean Javascript implementation of the JSON-Patch standard (RFC 6902). (Javascript)
  • jiff - JSON Patch and diff based on rfc6902. (Javascript)
  • json-patch-php - implementation of JSON-patch (IETF RFC 6902) (PHP)
  • dffptch - A micro library for diffing and patching using a compact diff format. (Javascript)
  • jsondiffpatch - Diff & patch for JavaScript objects. (Javascript)

Editors

  • FrontAid CMS - Content Management System that supports arbitrary data model structures.
  • JSONEdit - User friendly, visual editor built as an AngularJS directive.
  • JSON Crack - Display your JSON as a graph

Format Extensions

  • GeoJSON - A geospatial data interchange format.
  • JSON-LD - A lightweight Linked Data format.
  • JSON-RPC - A stateless, light-weight remote procedure call (RPC) protocol.
  • JSONP - Safer cross-domain Ajax with JSON-P/JSONP.
  • JsonML - A compact format for transporting XML-based markup as JSON which allows it to be losslessly converted back to its original form.
  • JSON5 - a extension that aims to make it easier for humans to write and maintain by hand.
  • JSON6 - JSON for Humans (ES6).
  • JSON 1.1/JSONX - An evolved version 1.1 with format extension for humans incl. comments, unquoted and multi-line strings, optional and trailing commas and more.
  • JSON Resume - The open source initiative to create standard for resumes.
  • JSON Web Tokens - A compact URL-safe means of representing claims to be transferred between two parties.
  • JSON API - A standard for building APIs.
  • Collection+JSON - A read/write hypermedia-type designed to support management and querying of simple collections.
  • hal-json - A set of conventions for expressing hyperlinks in either JSON or XML.
  • JSON Activity Streams - A format for syndicating social activities around the web.
  • JSON-stat - Simple lightweight format for data dissemination.
  • /contribute.json - Making open source contribution information easier to access, across projects.
  • NDJSON (Newline delimited JSON) - a standard for delimiting JSON in stream protocols.
  • survey.js - JSON based survey library.
  • JSON Meta Application Protocol (JMAP) - A protocol for synchronising JSON-based data objects efficiently, with support for push and out-of-band binary data upload/download.
  • J<sub>ack</sub>SON: JSON secret keeper - JSONic way of storing secrets in config file.
  • Sequence JSON - A proposal for a standard way of creating music sequence data in JSON.

Frontend components

Libraries

C

  • Jansson - A C library for encoding, decoding and manipulating data.
  • jsmn - A minimalistic parser in C. It can be easily integrated into the resource-limited projects or embedded systems.
  • json-build - A minimalistic serializer in C. It can be easily integrated into the resource-limited projects or embedded systems.
  • ojc - A fast JSON parser.

C++

  • ArduinoJson - An efficient library for embedded systems.
  • JSON++ - A self contained Flex/Bison parser for C++11.
  • json11 - A tiny library for C++11.
  • Nlohmann JSON - A C++11 header-only class.
  • RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
  • simdjson - Parsing gigabytes of JSON per second.

Clojure

Fortran

  • JSON-Fortran - A Fortran library for writing, reading, and manipulating JSON files and data structures.

Go

  • ojg - A collection of high performance JSON processing and generating tool.

Haskell

Java

Javascript

Objective-C

  • JSONKit - Objective-C library.
  • SBJson - Parse one or more chunks of data.

Perl

  • JSON::Tiny - Perl module for encoding and decoding JSON in a minimalistic way.

PL/SQL

  • PL/JSON - A generic JSON object written in PL/SQL.

PHP

  • Webmozart JSON - A robust decoder/encoder with support for schema validation.

Python

Ruby

  • oj - A fast JSON parser and Object marshaller as a Ruby gem.
  • MultiJSON - A generic swappable back-end for JSON handling.

React

.NET

Scala

  • spray-json - A lightweight, clean and simple implementation in Scala.
  • circe - Yet another JSON library for Scala.
  • scala-jsonapi - Support library for integrating the JSON:API spec with Play, Spray and/or Circe backends.
  • jsoniter-scala - Scala macros for compile-time generation of ultra-fast JSON codecs.

Shell

  • jshn - JSON parsing and generation library in for shell scripts (Ash/Bash)

Swift

Linters

  • jsonlint - Parser and validator with a CLI. (Javascript)
  • JSON Lint - PHP linter. (PHP)

Online tools

Schema Specifications

  • JSON Schema - a JSON based format for defining the structure of JSON data.
  • Itemscript - Language for validating and specifying values.
  • Kwalify - A parser, schema validator, and data binding tool
  • Rx - Simple, Extensible Schemata.

Services

Supersets

  • YAML - A human friendly data serialization standard for all programming languages.
  • HanSON - JSON for Humans - with unquoted identifiers, multi-line strings and comments.
  • μson (uson) - a shorthand for JSON.
  • HOCON - Human-Optimized Config Object Notation.
  • ASON - A semantically complete superset of JSON (draft).
  • TOML - A minimal configuration file format that's easy to read due to obvious semantics.
  • HCL - A structured configuration language that is both human and machine friendly.

Tutorials

  • AXON - A simple text based format for interchanging of objects, documents and data. It tries to combine the best of JSON, XML and YAML.
  • CSON - CoffeeScript-Object-Notation. JSON for CoffeeScript objects.
  • MSON - Markdown syntax compatible with describing JSON and JSON Schema.
  • ArchieML - Structured text format optimized for human writability.

Resources

  • Type-o-rama - JS type systems interportability, comparison of different JS type systems and conversion between them.
  • Awesome jq - A curated list of awesome jq tools and resources.

Templates

  • Jsonnet - A domain specific configuration language that helps you define JSON data.
  • rabl - General ruby templating with json, bson, xml, plist and msgpack support. (Ruby)
  • json2html - HTML templating library with wrappers for both jQuery and Node.js. (Javascript)

Testing

Text Editor Plugins

Emacs

Vim

  • vim-json - A better JSON for Vim: distinct highlighting of keywords vs values, JSON-specific (non-JS) warnings, quote concealing. Pathogen-friendly.

Visual Studio Code

  • FracturedJsonVsc - Formatter that produces human-readable but fairly compact output.

Neovim

  • nvim-jqx - Browse and query json files in neovim from the quickfix window. (Lua)

Transformations

  • json-sharp - Javascript tool to process operations on pure JSON objects. (Javascript)
  • json2json - Transform (reformat) structures from one to another. (Javascript)
  • trans - The ultimate object transformer. (Javascript)
  • osmtogeojson - Converts OSM data to GeoJSON. (Javascript)
  • fast-xml-parser - Fast XML to JSON and vice versa javascript/JSON conversion.
  • x2js - XML to JSON and vice versa javascript conversion functions. (Javascript)
  • JSONC - JSON compressor and decompressor. (Javascript)
  • JsonMapper - Map nested structures onto PHP classes (PHP)
  • SassyJSON - Sass-powered API. (Sass)
  • json.human.js - A small library to convert a JSON object into a human readable HTML representation that is easy to style for different purposes.
  • JSONtoFoundation - OS X utility that converts a JSON object to a Foundation object that can be used in Cocoa/Cocoa Touch development. (Swift)
  • fanci - Extract, rename and transform JSON based on a template. (node.js)
  • Pinch - String.replace for JavaScript objects. (Javascript)
  • deepjson - A better way to load big json config files. (node.js)
  • jsontl - allow transformation using a JSON-based transformation language. (node.js)
  • json-transforms - A recursive, pattern-matching, approach to transforming JSON structures.
  • normalizr - Normalizes nested JSON according to a schema. (Javascript)
  • JSON-populate - Tool for populating JSON data with infinitely recursive circular references. Sort of like Falcor, but for plain JSON.
  • CircularJSON - JSON does not handle circular references. Now it does.
  • Sawmill - JSON transformation library (Java)
  • nimnjs - JSON to nimn bidirectional converter.
  • stylops - CSS subset to JSON conversion. (node.js)

Queries

  • dasel - Query and update data structures using selectors from the command line. Comparable to jq / yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
  • JMESPath - A query language for JSON.
  • JSON Mask - Tiny language and engine for selecting specific parts of a JS object, hiding the rest. (Javascript)
  • JSONiq - The JSON Query Language.
  • ObjectPath - The agile query language for semi-structured data. (Python)
  • DefiantJS - Lightning-fast searches using XPath expressions, and transform using XSL. (Javascript)
  • JSONSelect - CSS-like selectors. (Javascript)
  • JSONPath - XPath implementation. (Javascript/PHP)
  • searchjs - A library for filtering based on a json SQL-like language.
  • json-rel - Transparent references in JSON.
  • JSONata - Query and transformation language used in Node-RED, supports function expressions.

JSON Schema Frontend components

JSON Schema Tools

  • prmd - Tools and doc generation for HTTP APIs.
  • generate-schema - Effortlessly convert your JSON Object to JSON Schema, Mongoose Schema, or a Generic template for quick documentation / upstart.
  • Docson - Documentation for your types.
  • Orderly JSON - A textual format for describing JSON compiled into JSONSchema.
  • jsonschema2pojo - Generates Java types and annotates those types for data-binding with Jackson 1.x or 2.x, Gson, etc.
  • Matic - Build tool for generating HTML documentation.
  • JSON Schema + Faker - Fake your schemas.
  • DLL.js - Gets you a JSON Schema from PostgreSQL or SQLite3.
  • JSONSchema.net - JSON Schema generator from JSON object.
  • js-schema - A new way of describing object schemas in JavaScript. It has a clean and simple syntax, and it is capable of serializing to/from the popular JSON Schema format.
  • aptos - A tool for validating data using JSON Schema and converting JSON Schema documents into different data-interchange formats.
  • [JSON Schema Ref Parser](https://github.com/APIDevTools/json-schema-ref-parser) - Parse, resolve, and dereference JSON Schemaref pointers

JSON Schema Resources

JSON Schema Validators

Javascript and Node.js

Java and Kotlin

PHP

Python

Ruby

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

Page updated