A curated list of awesome JSON libraries and resources.
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
.gitignore Add JMAP Jul 18, 2017
.travis.yml Update URLs to current. Jul 1, 2018
CONTRIBUTING.md Create CONTRIBUTING.md Mar 28, 2015
README.md Update URLs to current. Jul 1, 2018

README.md

Awesome JSON Awesome

A curated list of awesome JSON libraries and resources.

Inspired by the awesome list.

Applications

OS X

  • Visual JSON (github) - simple JSON pretty-viewer for Mac OS X.
  • 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.

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

  • jsoncat - Pretty-print Json in terminal with colors and adjusting tabs size.
  • jq - A lightweight and flexible command-line JSON processor.
  • json - A "json" command for massaging JSON on your Unix command line.
  • 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.
  • 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.

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. (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

  • country.io - Various country related datasets, as JSON inc currency, country codes, names and more
  • countries - World countries.
  • vat-rates - VAT rates for all EU countries.
  • MTG JSON - Up to date Magic the Gathering card data.
  • Heartstone JSON - Up to date Hearthstone card data.
  • getCountries() - Generator for custom Countries data.

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

  • JSONEdit - User friendly, visual editor built as an AngularJS directive.

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 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.
  • JSON Table Schema - a simple schema for tabular data
  • 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.
  • JackSON: JSON secret keeper - JSONic way of storing secrets in config file.

Frontend components

  • JSON editor jQuery plugin - component for you web apps/pages. (jQuery)
  • jqTree - Widget for displaying a tree structure in html. (jQuery)
  • jsTree - jquery plugin, that provides interactive trees. (jQuery)
  • Dynatable.js - A funner, semantic, HTML5+JSON, interactive table plugin. (jQuery)
  • JSON Formatter - Angular directive for collapsible JSON in HTML. (AngularJS)
  • react-jsonschema-form - A React component for building Web forms from JSON Schema. (React)

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.

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.
  • RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API

Clojure

  • data.json - parser/generator to/from Clojure data structures.

Fortran

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

Haskell

  • aeson-qq - JSON quasiquoter for Haskell.

Java

  • JSON-java - A reference implementation.
  • Fast JSON Processor
  • Gson - A Java library to convert JSON to Java objects and vice-versa.
  • Jackson - A multi-purpose Java library for processing JSON data format.
  • moshi - A modern JSON library for Android and Java.

Javascript

  • JSON-js - JSON in JavaScript.
  • JSON 3 - A modern implementation.
  • oboe.js - A streaming approach, speeds up web applications by providing parsed objects before the response completes.

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

  • simplejson - A simple, fast, extensible encoder/decoder
  • jsonpickle - Library for serializing any arbitrary object graph.
  • metamagic.json - An ultra-fast Python 3 implementation of a JSON encoder.

Ruby

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

React

  • json2react - Use JSON to create React Stateless Components.

.NET

  • jsonfx - serialization framework for .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.

Swift

  • SwiftyJSON - The better way to deal with data in 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

  • ipinfo.io - JSON IP and GeoIP REST API.
  • JSONProxy - Simple HTTP proxy that enables cross-domain requests to any JSON API.
  • Myjson - A simple store for your web or mobile app.
  • Telize - JSON IP and GeoIP REST API.
  • jsonpad - a simple JSON storage platform.
  • JSONP Proxy - A REST API allowing to get JSONP from any API.

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

Related formats

  • 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.

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

  • JSON Test - Testing platform for services utilizing JavaScript Object Notation (JSON).
  • JSONassert - Write JSON unit tests in less code. Great for testing REST interfaces. (Java)
  • JsonUnit - A library that simplifies JSON comparison in unit tests. It's strongly inspired by XmlUnit.

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.

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.

Queries

  • 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 Editor - JSON Schema Based Editor. (jQuery)
  • angular-schema-form - Generate forms. (AngularJS)
  • JSON Schema View - An AngularJS directive for rendering JSON Schema in HTML (AngularJS)
  • Angular JSON Schema Form - Angular directive for making forms out of JSON Schema. (AngularJS)
  • AlpacaJS - Generates JSON Schema driven forms on top of Bootstrap, jQuery Mobile, jQuery UI and HTML (jQuery)

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 - Parse, resolve, and dereference JSON Schema $ref pointers

JSON Schema Resources

  • Understanding JSON Schema - A website aiming to provide more accessible documentation for JSON schema.
  • JSON Schema Store - A collection of popular schemas.
  • JSON Archetypes - Community-Driven Standards For Popular Types Of Data.
  • Using JSON Schema - a Book and GitHub project, showing how JSON Schema can be used for a variety of tasks and in different programming contexts.

JSON Schema Validators

Javascript and Node.js

  • json-schema-benchmark - Performance benchmark for Node.js validators.
  • is-my-json-valid - A validator that uses code generation to be extremely fast.
  • jsen - A validator built for speed.
  • themis - A blazing fast validator.
  • jsck - JSON Schema Compiled checK.
  • z-schema - validator written in JavaScript for NodeJS and Browsers.
  • jjv - Javascript Library for Schema Validation.
  • request-validator - Flexible request validator middleware for express and connect.
  • tv4 - Tiny Validator.
  • ajv - The fastest validator. Supports v5/6 proposals.

PHP

Python

  • jsonschema - Python implementation of jsonschema.
  • JSON Schema Toolkit - Programmatic building of JSON schemas (recursive field mappings) with validation, a Django JSON Field, and native PostgreSQL JSON type constraints.

Ruby

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0