Awesome JSON
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 *
JSON Formatter
(github) -
Makes JSON easy to read. Open source. *
JSON Viewer
(github) - It is a
Chrome extension for printing JSON and JSONP. *
JSON Browser
(github) - Browse a
JSON web with the help of JSON schemas. *
JSON Finder
(github) - Browse like
you do it in Finder. *
JSON Viewer Pro
(github - An
open source Chrome extension for browsing JSON with syntax highlighting
and folding, or as a visual graph. *
Discoverable JSON
(github) -
Gron inspired Extension. Convert a JSON document into javascript
expressions. Comes with filter, remove, find-and-replace capabilities.
Firefox *
JSONView
(github) - View JSON
documents in the browser.
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
-
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.
-
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.
-
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.
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
-
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
-
FrontAid CMS - Content Management
System that supports arbitrary data model structures.
-
JSONEdit - User friendly,
visual editor built as an AngularJS directive.
-
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.
-
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)
-
ngx-formly - JSON
powered / Dynamic forms for Angular
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. * 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 *
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.
Go * ojg - A
collection of high performance JSON processing and generating tool.
Haskell *
aeson-qq - JSON quasiquoter
for Haskell. *
json-schema -
JSON Schema library for Haskell *
hjsonschema -
JSON Schema Draft 4 library 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. *
essential-json
- A lightweight Java library for serialization, parsing and manipulation
with a clean and precise API. *
dsl-json - A very fast
streaming JSON library. Operates on byte arrays. *
mjson - Lean JSON Library
for Java, with a compact, elegant API.
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. *
jsonapi-consumer
- Client framework for consuming JSONAPI based APIs on the
JSON API standard.
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)
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
-
Exchange Rate API - A
simple and free API for currency exchange rate data.
-
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.
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
-
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.
-
JSON Parsing Test Suite
- A very complete test suite and validation framework.
Text Editor Plugins
Emacs *
JSON Reformat -
Reformat tool.
Vim *
vim-json - A better JSON
for Vim: distinct highlighting of keywords vs values, JSON-specific
(non-JS) warnings, quote concealing. Pathogen-friendly.
-
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 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)
-
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.
-
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.
Java and Kotlin *
Medeia Validator
- Compliant (draft-04/06/07) and fast streaming validator written in
Kotlin
PHP *
JSON Schema for PHP
- PHP implementation of JSON schema. *
JSON Guard - A validator
for JSON Schema Draft 4.
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 *
Ruby JSON Schema Validator
- validating against a JSON schema conforming to JSON Schema Draft 4.
Contribute
Contributions welcome! Read the
contribution guidelines first.
License