Awesome Json Overview
A curated list of awesome JSON libraries and resources.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 burningtree/awesome-json · ⭐ 1.3K · 🏷️ Miscellaneous
Awesome JSON
A curated list of awesome JSON libraries and resources.
Inspired by the awesome (⭐301k) list.
- Awesome JSON
- Applications
- Binary Serialization
- Browser Extensions
- Command-line tools
- Databases
- Datasets
- Data modeling
- Data generation
- Differencing
- Editors
- Format Extensions
- Frontend components
- Libraries
- Linters
- Online tools
- Schema Specifications
- Services
- Supersets
- Related formats
- Resources
- Templates
- Testing
- Text Editor Plugins
- Transformations
- Tutorials
- Queries
- JSON Schema Frontend components
- JSON Schema Tools
- JSON Schema Resources
- JSON Schema Validators
- Contribute
Applications
- Dadroit JSON Viewer - Very fast JSON Viewer, supporting huge (multi gigabytes) files, JSON log (JSON-Lines and ndjson).
OS X
- Visual JSON (⭐301) - simple JSON pretty-viewer for Mac OS X. (inactive)
- JSONExport (⭐4.8k) - 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 (⭐459) - 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 (⭐3.7k)) - Makes JSON easy to read. Open source.
- JSON Viewer (github (⭐3.3k)) - It is a Chrome extension for printing JSON and JSONP.
- JSON Finder (github (⭐39)) - Browse like you do it in Finder.
- JSON Viewer Pro (github (⭐526) - An open source Chrome extension for browsing JSON with syntax highlighting and folding, or as a visual graph.
- Discoverable JSON (github (⭐3)) - Gron inspired Extension. Convert a JSON document into javascript expressions. Comes with filter, remove, find-and-replace capabilities.
Firefox
- JSONView (github (⭐1.5k)) - View JSON documents in the browser.
Safari
- JSONAce (github (⭐72)) - Formats & syntax highlights JSON viewed inside of the web browser using the ACE editor.
- JSONView (github (⭐293)) - A port of the JSONView Firefox extension that formats and syntax highlights JSON viewed inside of the browser
Command-line tools
- dsq (⭐3.6k) - Tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
- fx (⭐18k) - A interactive terminal tool.
- jo (⭐4.6k) - A small utility to create JSON objects
- jsoncat (⭐27) - Pretty-print Json in terminal with colors and adjusting tabs size.
- jq (⭐29k) - A lightweight and flexible command-line JSON processor.
- jaq (⭐2.5k) - A jq clone focussed on correctness, speed, and simplicity. Written in Rust.
- gojq (⭐3.1k) - Pure Go implementation of jq. A bit faster and more portable.
- livejq (⭐11) - 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 (⭐4) - 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 (⭐1.4k) - Like awk, but for JSON.
- json-dotenv (⭐8) - Manipulate and extract envfiles in json format.
- gron (⭐13k) - Convert a JSON file into discrete assignments that are greppable.
- jid (⭐6.8k) - Incremental Digger. Drill down JSON interactively by using filtering queries like jq.
- jiq (⭐907) - It's
jid
withjq
. You can drill down interactively by usingjq
filtering queries. - jv (⭐118) - jv (for jsonviewer) helps you view your JSON.
- jl (⭐474) - Functional sed for JSON.
- oj (⭐793) - A fast and flexible command line JSON processor.
- visidata (⭐7.4k) - A terminal spreadsheet-like tool for interactively exploring data.
- jc (⭐7.6k) - Converts the output of many CLI tools, file-types, and common strings into JSON
- logdy (⭐417) - 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 (⭐1.4k) - Embedded JSON Database engine published under MIT license. (C)
- lowdb (⭐21k) - Flat file database built on lodash API. (Javascript)
- Lawnchair (⭐2.1k) - A lightweight clientside document store. (Javascript)
- JSON ODM (⭐101) - Object document mapper for JavaScript to use on the server or in the browser. (Javascript)
- JSON Server (⭐71k) - Get a full fake REST API with zero coding in less than 30 seconds.
- Kinto (⭐4.3k) - 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 (⭐21k) - Event-driven JSON-Database with JSON-Schema, mango-Query and CouchDB-sync. (Javascript)
- JSONlite (⭐844) - 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 (⭐5.9k) - World 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 (⭐6.9k) - Magical Data Modelling Framework. (Objective-C)
Data generation
- jsonymize (⭐17) - Reads data from standard input, anonymizes, then writes to standard output.
- dyson (⭐835) - Server for dynamic, fake JSON. (node.js)
Differencing
- JSONPatch - A format for describing changes to a document.
- JSON-Patch (⭐1.7k) - Lean and mean Javascript implementation of the JSON-Patch standard (RFC 6902). (Javascript)
- jiff (⭐614) - JSON Patch and diff based on rfc6902. (Javascript)
- json-patch-php (⭐111) - implementation of JSON-patch (IETF RFC 6902) (PHP)
- dffptch (⭐170) - A micro library for diffing and patching using a compact diff format. (Javascript)
- jsondiffpatch (⭐4.7k) - 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 (⭐231) - 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 (⭐22) - Simple lightweight format for data dissemination.
- /contribute.json - Making open source contribution information easier to access, across projects.
- NDJSON (⭐634) (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 (⭐18) - JSONic way of storing secrets in config file.
- Sequence JSON (⭐125) - A proposal for a standard way of creating music sequence data in JSON.
Frontend components
- JSON editor jQuery plugin (⭐560) - 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 (⭐2.8k) - A funner, semantic, HTML5+JSON, interactive table plugin. (jQuery)
- JSON Formatter (⭐369) - 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 (⭐363) - A React component for JSON viewer. (React)
- ngx-formly (⭐2.7k) - JSON powered / Dynamic forms for Angular
Libraries
C
- Jansson (⭐3k) - 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 (⭐33) - A minimalistic serializer in C. It can be easily integrated into the resource-limited projects or embedded systems.
- ojc (⭐35) - A fast JSON parser.
C++
- ArduinoJson (⭐6.6k) - An efficient library for embedded systems.
- JSON++ (⭐41) - A self contained Flex/Bison parser for C++11.
- json11 (⭐2.5k) - A tiny library for C++11.
- Nlohmann JSON (⭐40k) - A C++11 header-only class.
- RapidJSON (⭐14k) - A fast JSON parser/generator for C++ with both SAX/DOM style API
- simdjson (⭐18k) - Parsing gigabytes of JSON per second.
Clojure
- data.json - parser/generator to/from Clojure data structures.
Fortran
- JSON-Fortran (⭐318) - A Fortran library for writing, reading, and manipulating JSON files and data structures.
Go
- ojg (⭐793) - A collection of high performance JSON processing and generating tool.
Haskell
- aeson-qq (⭐80) - JSON quasiquoter for Haskell.
- json-schema - JSON Schema library for Haskell
- hjsonschema - JSON Schema Draft 4 library for Haskell
Java
- JSON-java (⭐4.5k) - A reference implementation.
- Fast JSON Processor (⭐26k)
- Gson (⭐23k) - A Java library to convert JSON to Java objects and vice-versa.
- Jackson (⭐8.8k) - A multi-purpose Java library for processing JSON data format.
- moshi (⭐9.5k) - A modern JSON library for Android and Java.
- essential-json (⭐1) - A lightweight Java library for serialization, parsing and manipulation with a clean and precise API.
- dsl-json (⭐985) - A very fast streaming JSON library. Operates on byte arrays.
- mjson (⭐81) - Lean JSON Library for Java, with a compact, elegant API.
Javascript
- JSON-js (⭐8.7k) - JSON in JavaScript.
- JSON 3 - A modern implementation.
- oboe.js (⭐4.8k) - 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 (⭐27) - Minimal lossless parse event streaming, akin to SAX.
Objective-C
- JSONKit (⭐6.2k) - Objective-C library.
- SBJson (⭐3.7k) - Parse one or more chunks of data.
Perl
- JSON::Tiny (⭐11) - Perl module for encoding and decoding JSON in a minimalistic way.
PL/SQL
- PL/JSON (⭐440) - A generic JSON object written in PL/SQL.
PHP
- Webmozart JSON (⭐357) - A robust decoder/encoder with support for schema validation.
Python
- simplejson (⭐1.6k) - 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 (⭐3.1k) - A fast JSON parser and Object marshaller as a Ruby gem.
- MultiJSON (⭐746) - A generic swappable back-end for JSON handling.
React
- json2react (⭐167) - Use JSON to create React Stateless Components.
.NET
- jsonfx (⭐380) - serialization framework for .NET.
- jsonapi-consumer (⭐6) - 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 (⭐970) - A lightweight, clean and simple implementation in Scala.
- circe (⭐2.5k) - Yet another JSON library for Scala.
- scala-jsonapi (⭐107) - Support library for integrating the JSON:API spec with Play, Spray and/or Circe backends.
- jsoniter-scala (⭐707) - 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 (⭐22k) - The better way to deal with data in Swift.
Linters
- jsonlint (⭐1.9k) - Parser and validator with a CLI. (Javascript)
- JSON Lint (⭐1.3k) - PHP linter. (PHP)
Online tools
- JSONLint - The JSON Validator.
- JSONCompare - The Advanced Version of the JSON Linter.
- JSONMate - JSON editor, inspector and beautifier.
- JSON Editor online - A web-based tool to view, edit and format.
- Collapsible JSON Formatter - Formatter and Colorer of Raw Code.
- JSON Formatter and Validator - Formatter to help with debugging.
- JSON Generator - Tool for generating random data.
- FakeJSON - Web API to quickly generate fake data for your application.
- JSON to CSV - A free, in-browser JSON to CSV converter.
- CSV to JSON - Easy, privacy-friendly and offline-first online csv to json converter
- json2csharp - Generate c# classes from a json string or url.
- JSON Utils - Site for generating C#, VB.Net, and Javascript classes from JSON.
- geojson.io - Simply edit GeoJSON map data.
- jq play - A playground for jq.
- json2yaml - Convert JSON to YAML online.
- JSON Selector Generator - A simple GUI for generating the selectors to access.
- JSON.fr - Fully client-side validator and formatter.
- ObjGen - Online live JSON generator.
- JSONPlaceholder - Fake Online REST API for Testing and Prototyping.
- Extends Class - Diff tool to compare two files.
- JSON Schema Validate API - A simple and free JSON Schema Validation API.
- JSONPerf - A Visual, Unbiased and Up-to-Date JSON Performance Benchmark.
- FracturedJson - Formatter that produces human-readable but fairly compact output.
Schema Specifications
- JSON Schema - a JSON based format for defining the structure of JSON data.
- Itemscript - Language for validating and specifying values.
- Kwalify (⭐22) - 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 (⭐302) - Simple HTTP proxy that enables cross-domain requests to any JSON API.
- 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 (⭐153) - JSON for Humans - with unquoted identifiers, multi-line strings and comments.
- μson (⭐69) (uson) - a shorthand for JSON.
- HOCON (⭐6.1k) - Human-Optimized Config Object Notation.
- ASON (⭐2) - A semantically complete superset of JSON (draft).
- TOML (⭐19k) - A minimal configuration file format that's easy to read due to obvious semantics.
- HCL (⭐5.1k) - A structured configuration language that is both human and machine friendly.
Tutorials
- Introducing JSON
- JSON Tutorial - An introductory tutorial on JavaScript Object Notation (JSON).
- JSON - Rosetta Code - Basic operations in different languages (57 languages in this moment).
- What is JSON and how to use it - Video tutorial for beginners.
- jq Primer: Munging JSON Data - How jq can be used to process JSON files just as effectively as traditional Unix tools.
Related formats
- AXON (⭐22) - A simple text based format for interchanging of objects, documents and data. It tries to combine the best of JSON, XML and YAML.
- CSON (⭐1.3k) - CoffeeScript-Object-Notation. JSON for CoffeeScript objects.
- MSON (⭐895) - Markdown syntax compatible with describing JSON and JSON Schema.
- ArchieML - Structured text format optimized for human writability.
Resources
- Type-o-rama (⭐244) - JS type systems interportability, comparison of different JS type systems and conversion between them.
- Awesome jq (⭐736) - A curated list of awesome jq tools and resources.
Templates
- Jsonnet - A domain specific configuration language that helps you define JSON data.
- rabl (⭐3.7k) - 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 (⭐963) - Write JSON unit tests in less code. Great for testing REST interfaces. (Java)
- JsonUnit (⭐854) - A library that simplifies JSON comparison in unit tests. It's strongly inspired by XmlUnit.
- JSON Parsing Test Suite (⭐842) - A very complete test suite and validation framework.
Text Editor Plugins
Emacs
- JSON Reformat (⭐172) - Reformat tool.
Vim
- vim-json (⭐1.2k) - 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 (⭐276) - Browse and query json files in neovim from the quickfix window. (Lua)
Transformations
- json-sharp (⭐6) - Javascript tool to process operations on pure JSON objects. (Javascript)
- json2json (⭐190) - Transform (reformat) structures from one to another. (Javascript)
- trans (⭐178) - The ultimate object transformer. (Javascript)
- osmtogeojson (⭐669) - Converts OSM data to GeoJSON. (Javascript)
- fast-xml-parser (⭐2.4k) - Fast XML to JSON and vice versa javascript/JSON conversion.
- x2js (⭐995) - XML to JSON and vice versa javascript conversion functions. (Javascript)
- JSONC (⭐646) - JSON compressor and decompressor. (Javascript)
- JsonMapper (⭐1.5k) - Map nested structures onto PHP classes (PHP)
- SassyJSON (⭐169) - 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 (⭐42) - OS X utility that converts a JSON object to a Foundation object that can be used in Cocoa/Cocoa Touch development. (Swift)
- fanci (⭐30) - Extract, rename and transform JSON based on a template. (node.js)
- Pinch (⭐27) - String.replace for JavaScript objects. (Javascript)
- deepjson - A better way to load big json config files. (node.js)
- jsontl (⭐7) - allow transformation using a JSON-based transformation language. (node.js)
- json-transforms (⭐137) - A recursive, pattern-matching, approach to transforming JSON structures.
- normalizr (⭐21k) - Normalizes nested JSON according to a schema. (Javascript)
- JSON-populate (⭐153) - Tool for populating JSON data with infinitely recursive circular references. Sort of like Falcor, but for plain JSON.
- CircularJSON (⭐602) - JSON does not handle circular references. Now it does.
- Sawmill (⭐110) - JSON transformation library (Java)
- nimnjs (⭐45) - JSON to nimn bidirectional converter.
- stylops (⭐0) - CSS subset to JSON conversion. (node.js)
Queries
- dasel (⭐4.9k) - Query and update data structures using selectors from the command line. Comparable to jq (⭐29k) / yq (⭐2.5k) but supports JSON, YAML, TOML and XML with zero runtime dependencies.
- JMESPath - A query language for JSON.
- JSON Mask (⭐862) - 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 (⭐1.6k) - CSS-like selectors. (Javascript)
- JSONPath - XPath implementation. (Javascript/PHP)
- searchjs (⭐309) - A library for filtering based on a json SQL-like language.
- json-rel (⭐16) - Transparent references in JSON.
- JSONata - Query and transformation language used in Node-RED, supports function expressions.
JSON Schema Frontend components
- JSON Editor (⭐5.8k) - JSON Schema Based Editor. (jQuery)
- angular-schema-form (⭐2.5k) - Generate forms. (AngularJS)
- JSON Schema View (⭐49) - An AngularJS directive for rendering JSON Schema in HTML (AngularJS)
- Angular JSON Schema Form (⭐30) - 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 (⭐2.1k) - Tools and doc generation for HTTP APIs.
- generate-schema (⭐1k) - Effortlessly convert your JSON Object to JSON Schema, Mongoose Schema, or a Generic template for quick documentation / upstart.
- Docson (⭐491) - Documentation for your types.
- Orderly JSON (⭐222) - A textual format for describing JSON compiled into JSONSchema.
- jsonschema2pojo (⭐6.1k) - Generates Java types and annotates those types for data-binding with Jackson 1.x or 2.x, Gson, etc.
- Matic (⭐176) - Build tool for generating HTML documentation.
- JSON Schema + Faker (⭐3.2k) - Fake your schemas.
- DLL.js (⭐67) - Gets you a JSON Schema from PostgreSQL or SQLite3.
- JSONSchema.net - JSON Schema generator from JSON object.
- js-schema (⭐386) - 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 (⭐150) - A tool for validating data using JSON Schema and converting JSON Schema documents into different data-interchange formats.
- JSON Schema $Ref Parser (⭐905) - 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 (⭐101) - A curated list of awesome JSON Schema resources, tutorials, tools, and more.
JSON Schema Validators
Javascript and Node.js
- json-schema-benchmark (⭐384) - Performance benchmark for Node.js validators.
- is-my-json-valid (⭐957) - A validator that uses code generation to be extremely fast.
- jsen (⭐156) - A validator built for speed.
- themis (⭐60) - A blazing fast validator.
- jsck (⭐159) - JSON Schema Compiled checK.
- z-schema (⭐338) - validator written in JavaScript for NodeJS and Browsers.
- jjv (⭐196) - Javascript Library for Schema Validation.
- request-validator (⭐0) - Flexible request validator middleware for express and connect.
- tv4 (⭐1.2k) - Tiny Validator.
- ajv (⭐13k) - The fastest validator. Supports v5/6 proposals.
Java and Kotlin
- Medeia Validator (⭐57) - Compliant (draft-04/06/07) and fast streaming validator written in Kotlin
PHP
- JSON Schema for PHP (⭐3.5k) - PHP implementation of JSON schema.
- JSON Guard - A validator for JSON Schema Draft 4.
Python
- jsonschema (⭐4.4k) - Python implementation of jsonschema.
- JSON Schema Toolkit (⭐30) - 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 (⭐1.5k) - validating against a JSON schema conforming to JSON Schema Draft 4.
Contribute
Contributions welcome! Read the contribution guidelines first.