Awesome JSON 
A curated list of awesome JSON libraries and resources.
Inspired by the awesome list.
Applications
- Dadroit JSON Viewer - Very fast
JSON Viewer, supporting huge (multi gigabytes) files, JSON log
(JSON-Lines and ndjson).
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.
- JSON BinPack -
Space-efficient binary JSON serialization format based on JSON
Schema.
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
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
- 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
- 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.
- JSON Crack - Display your JSON
as a graph
- 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.
- 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)
- @textea/json-viewer - A React
component for JSON viewer. (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. * 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 * 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. * FracturedJsonJs
- A JSON formatter that produces human-readable but fairly compact
output. * JsonHilo -
Minimal lossless parse event streaming, akin to SAX.
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. * FracturedJson -
A formatter that produces human-readable but fairly compact output.
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 * 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.
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)
- 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.
- Awesome
JSON Schema - A curated list of awesome JSON Schema resources,
tutorials, tools, and more.
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
